前言
今天遇到一个怪事,后台返回了时间戳,然后我用时间戳转字符串后,一直是1970年,百思不得其解,难道是我代码写错了?我网上搜了下,对的呀,这么简单的转换代码,应该没有问题才对。
问题
一般时间戳转字符串代码如下:
后台返回的是1534498090
Date date = new Date(1534498090);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sdf.format(date);
return 得到的答案是 1970-01-19 02:14:58
那这是为什么呢?
解决
经过自己在代码中获取到时间戳格式,我发现是long类型的,长度也比后台返回得到要长,例如后台返回的是1534498090,android中需要的是1534498090000,既然问题找到了,那么只需要改改代码即可。
Date date = new Date(1534498090*1000L);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sdf.format(date);
return 得到的答案是 2018-08-17 17:28:10
好了,问题解决了!!!