对日期选择器进行军事化。。我尝试将 字符串格式 解析为 LocalDateTime 格式。看下面:
<input type="text" name="departureTime "class="datepicker">
<script type="text/javascript">
$(document).ready(function(){
$('.datepicker').datepicker({format: 'dd.mm.yyyy'});
});
</script>
@GetMapping("/main/search")
public String search (@RequestParam String departure,
@RequestParam String arrival,
@RequestParam String departureTime,
Model model) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
departureTime+=" 00:00:00"; // departureTime = departureTime + " 00:00:00";
LocalDateTime date = LocalDateTime.parse(departureTime, formatter);
然后获取下一个错误:
java.time.format.DateTimeParseException: Text '20.08.2017 00:00:00' could not be parsed at index 0
但是!如果我尝试使用html中的 默认日期选择器 进行同样操作,那么一切正常。
<inpu type="date" name="departureTime">
LoclaDateTime 带我去了fomat,没有任何错误。它给了我 2017-08-20T05:42:28
在两种情况下,客户端发出的格式都相同。但是我想,这里只有一个 具体化datapicker和默认html选择器之间的区别。物化提供格式 dd.mm.yyyy 和默认选择器,我认为 dd.MM.yyyy
我使用mysql数据库
我不理解这是什么问题。请帮助我...
答案 0 :(得分:0)
这是有效代码:
<type="text" name="departureTime" class="datepicker">
<script type="text/javascript">
$(document).ready(function(){
$('.datepicker').datepicker({format: 'dd.mm.yyyy'});
});
</script>
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss");
departureTime+=" 00:00:00"; // departureTime = departureTime + " 00:00:00";
LocalDateTime date = LocalDateTime.parse(departureTime, formatter);
the end