关于时间转换的问题
在使用 typescript 处理后台传输的时间数据时,经常会遇到类型转换的问题。本文将讨论如何将后台返回的字符串时间转换为数字时间,以及 hibernate 中的相关注解支持。
问题 1:后台传输时间的类型冲突
typescript 中的 interface 与 Java 中的 pojo 不同,无法自动将 json 中的字符串时间映射为数字时间。因此,即使在 model 中定义 createtime 为 number 类型,如果后台返回的数据为字符串,最终结果仍将是字符串。
解决方案:
问题 2:使用 hibernate 注解格式化时间
如果希望后端在传输数据前将时间转为数字,可以使用 hibernate 的注解进行格式化。
解决方案:
- 使用 @jsonformat 注解,可以指定时间格式为数字。
- 使用 @datetimeformat 注解,可以配置 iso 时间格式。
例如,在 java 中使用 @jsonformat:
@JsonFormat(shape = JsonFormat.Shape.NUMBER) private Date date;