前端的Date类型和Java的LocalDateTime类型互相转换
问题描述
前端操作的时间类型一般为Date类型(不是Java的Date类型),而Java则为LocalDateTime类型
前端的时间传到后端保存到数据库需要先转换成LocalDateTime类型,后端的时间显示到前端则需要转换成前端的Date类型
解决办法
前端的Date类型转换成后端的LocalDateTime类型
首先根据前端的Date类型获得对应的时间戳(单位为秒),后端将时间戳转换成LocalDateTime类型
后端的LocalDateTime类型转换成前端的Date类型
首先根据后端的LocalDateTime类型获得对应的时间戳(单位为秒),前端再将前面的秒时间戳转换成毫秒时间戳(秒时间戳×1000),最后将毫秒时间戳转换成前端的Date类型
代码实现
Date类型转换成LocalDateTime类型
前端获得当前时间的秒时间戳,下面的getTime()获得的时间戳单位为毫秒,所以要除以1000,小数部分则通过Math.floor()
舍去
1 | const timestampSeconds = Math.floor(new Date().getTime()/1000) |
后端将秒时间戳转换成LocalDateTime类型
1 | /** |
LocalDateTime类型转换成Date类型
后端获得当前时间的秒时间戳
1 | /** |
前端将秒时间戳转换成毫秒时间戳,再转换成Date类型,timestampSeconds
为秒时间戳
1 | var date = new Date(timestampSeconds*1000) |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 LeDao's Blog!
评论