聊者说 | 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时间

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

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

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容