无法从字符串转换为时间戳;格式错误
Can't convert from String to Timestamp; Wrong format
尝试将日期对象从 AngularJS 传递到 java spring 后端时出现以下错误:
Failed to convert from type [java.lang.String] to type
[@javax.persistence.Column java.sql.Timestamp] for value
'2018-06-12T22:00:00.000Z'; nested exception is
java.lang.IllegalArgumentException: Timestamp format must be
yyyy-mm-dd hh:mm:ss[.fffffffff]
到目前为止,我尝试将日期对象格式化为预期格式的字符串:
$filter('date')(date, "yyyy-MM-dd hh:mm:ss");
这导致错误提示:
Error: [ngModel:datefmt] Expected 2018-06-13 12:00:00
to be a date
似乎我需要传递一个日期对象,但我找不到影响 AngularJS 尝试转换为的日期格式的方法。
您可以使用如下任何格式将日期字符串转换为日期对象:
Date parseDateString(String dateString){
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
Date date = dateFormat.parse(dateString);
}
您可以在 documentation
中阅读更多相关信息
java.time.Instant
您的后端服务已过时,使用的是旧版 class java.sql.Timestamp
。 class 多年前被 java.time.Instant
取代。
如果您将后端更改为使用 Instant
,则传递 2018-06-12T22:00:00.000Z
之类的字符串不会有任何问题。该字符串使用 ISO 8601 中定义的标准格式。该格式是将日期时间值作为文本交换的理想方式。
java.timeclass默认使用 ISO 8601 格式。因此无需指定格式化模式。
我知道 Hibernate 已更新为支持 java.time classes。我不知道 JPA。 (我也不用。)
尝试将日期对象从 AngularJS 传递到 java spring 后端时出现以下错误:
Failed to convert from type [java.lang.String] to type [@javax.persistence.Column java.sql.Timestamp] for value '2018-06-12T22:00:00.000Z'; nested exception is java.lang.IllegalArgumentException: Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]
到目前为止,我尝试将日期对象格式化为预期格式的字符串:
$filter('date')(date, "yyyy-MM-dd hh:mm:ss");
这导致错误提示:
Error: [ngModel:datefmt] Expected
2018-06-13 12:00:00
to be a date
似乎我需要传递一个日期对象,但我找不到影响 AngularJS 尝试转换为的日期格式的方法。
您可以使用如下任何格式将日期字符串转换为日期对象:
Date parseDateString(String dateString){
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
Date date = dateFormat.parse(dateString);
}
您可以在 documentation
中阅读更多相关信息java.time.Instant
您的后端服务已过时,使用的是旧版 class java.sql.Timestamp
。 class 多年前被 java.time.Instant
取代。
如果您将后端更改为使用 Instant
,则传递 2018-06-12T22:00:00.000Z
之类的字符串不会有任何问题。该字符串使用 ISO 8601 中定义的标准格式。该格式是将日期时间值作为文本交换的理想方式。
java.timeclass默认使用 ISO 8601 格式。因此无需指定格式化模式。
我知道 Hibernate 已更新为支持 java.time classes。我不知道 JPA。 (我也不用。)