聊者说 | Android 时间戳通过new Date转换为普通时间格式字符串不准确问题

不知道为啥,int型 时间戳(秒)通过new Date转换后得到的字符串一直是1970年!!

例如
1、获取系统的当前秒数为:1617032138,
2、通过new Date(sec * 1000)转换为日期
3、通过格式化转换为日期字符串
得到的结果:1970-01-25 22:07:14

这个结果,看着明显不对劲,在线转换一下,正常结果显然是:2021-3-29 23:35:38

微信截图_20210330134012.png

网络上查找了下资料,说是时区设置问题,尝试过,没鸟用。
然后不知道为啥,灵光一闪,加了个L
也就是,new Date(sec * 1000L)。

神奇的一幕出现了:


神奇的L
格式化Date时间
格式化Date时间

虽然转换正常了,但是还是不明所以,在此做个记录,给大家做个参考。
同时要是知道为什么的,欢迎解答~~

感谢大家的阅读,更多精彩等待下次创作,你最大的支持就是:赞同+评论+赞赏+...,关注我

另外,也欢迎大家关注我的个人公众号 “聊者说”。

你可能感兴趣的:(聊者说 | Android 时间戳通过new Date转换为普通时间格式字符串不准确问题)