Вы можете сделать что-то вроде этого:
@PostMapping("/create/lieferant/fahrer")
public ModelAndView submitDriver(@ModelAttribute Driver driver){
ModelAndView mav = new ModelAndView();
mav.setViewName("create/lieferant/fahrer");
try {
if(userRepository.existsByUsername(driver.getUsername())){
return "create/lieferant/fahrer?error";
}
Driver d = new Driver();
User n = new User();
Role r = new Role();
d.setName(driver.getName());
d.setTelnum(driver.getTelnum());
d.setUsername(driver.getUsername());
n.setUsername(driver.getUsername());
n.setPassword(encoder().encode(driver.getPassword()));
r.setUsername(driver.getUsername());
r.setAuthority("LIEFERANT");
userRepository.save(n);
driverRepository.save(d);
roleRepository.save(r);
mav.addObject("success", "All was ok");
} catch (Exception e) {
mav.addObject("error", "Error message to change");
}
return "create/lieferant/fahrer?success";
}
Вы можете получить сообщения на странице с двумя ключами «успех» и «ошибка»
@bartek - Как Вы отметили, функция strtotime PHP идеально подходит для этого. Это может обработать наиболее распространенные форматы даты, включая строки как "завтра" или "+5 месяцев".
Использовать strptime()
проанализировать время и превратить его в структурированный массив.
Затем передайте результаты этого в mktime()
функция для получения метки времени UNIX.
Другая опция, поскольку Вы отметили этот вопрос с SQL: функции MySQL FROM_UNIXTIME
и UNIX_TIMESTAMP
-> руководство MySQL
SELECT UNIX_TIMESTAMP(datetime_column) FROM table
Это обычно быстрее, чем вызов функции PHP.
Инкапсуляция решения wvanbergen в функцию (для вашего удобства)
//Convert SQL datetime to unixtime -- by johnboiles
function datetimeToUnixtime($datetime){
$result = mysql_query("select unix_timestamp('$datetime')");
$unixtime = mysql_fetch_array($result);
return $unixtime[0];
}