java.time.format.DateTimeParseException实现日期选择器

时间:2018-09-12 23:13:20

标签: java jquery html datepicker materialize

对日期选择器进行军事化。。我尝试将 字符串格式 解析为 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数据库

我不理解这是什么问题。请帮助我...

defalt html picker materialize picker

Here documentation of Materialize DatePicker

1 个答案:

答案 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