java - 将 html datetime-local 类型输入解析为 java LocalDateTime

标签 java jsp datetime

Code

JSP:

<div class="col-md-4 col-sm-6 col-xs-12">
    <fmt:formatDate value="${sighting.sightingDateAsDate}" var="sightingDateString" pattern="yyyy-MM-dd'T'hh:mm:ss"/>
    <sf:input type="datetime-local" class="add-form form-control" path="sightingDate" value="${sightingDateString}"/>
</div>

Controller:

String sightingDateString = request.getParameter("sightingDate");
LocalDateTime sightingDate = LocalDateTime.parse(sightingDateString.replace("T"," "), DateTimeFormatter.ISO_DATE_TIME);

我正在处理这个编辑表单。 fmt:formatDate 是将 sightingDate 转换为 html 可读的格式,因此输入字段 datetime-local 将填充现有的 LocalDateTime 值。

现在的问题是将它转换回 LocalDateTime。 我得到的当前错误是:

Error

Request processing failed; nested exception is 
java.time.format.DateTimeParseException: Text '2017-03-22 01:00' could not be parsed at index 10

我也尝试过不使用 replace("T","")。该错误将显示 Text '2017-03-22T01:00' 而不是 Text '2017-03-22 01:00'

最佳答案

DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm");
Date date = (Date)formatter.parse(sightingDateString); 

谢谢

关于java - 将 html datetime-local 类型输入解析为 java LocalDateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43153424/

相关文章:

java - 如何选择背景上的图片并通过鼠标单击对其进行标记?

java - 如何在多模块 Gradle 项目中构建分发包?

加载 Android Activity 的 UI 时出现 Java 内存不足错误

java - Jetty 9.3 中的 JSP 支持

java - Tomcat 服务器工作,但无法部署我的 JSP 文件

java - JSP中如何将值从外部页面传递到父页面

python - 从 Python 中的复杂字符串中检索日期

Java OOP transient 字段在加载 POJO 父级时初始化

ruby-on-rails - 如何计算下一次出现时间 04 :00 am EST?

c# - 将用户输入的日期时间转换为 UTC