android 将长时间戳转换为较短时间戳

ffx8fchx  于 2023-03-21  发布在  Android
关注(0)|答案(2)|浏览(288)

我的时间戳格式如下:1479912701805
如果检查http://www.epochconverter.com/,您可以看到日期为

GMT: Wed, 23 Nov 2016 14:51:41.805 GMT

现在,我需要将该长度缩短为1479859200,我估计短了3个数字

hkmswyz6

hkmswyz61#

除以1000得到秒?链接站点识别“长”(毫秒)时间戳并显示:假定此时间戳以毫秒为单位,则在除以/1000后计算,因此1479859200和1479859200000在此站点上是同一日期
注意你的例子是1479912701805和1479859200 -仅相同的日期,但不是小时/分钟/秒。如果你除“长”1/1000你将不会得到第二个
还有一种方法:

long timeMillis = 1479859200000;
long timeSecs = TimeUnit.MILLISECONDS.toSeconds(timeMillis);

当然是除以1000,但是您可能会发现其他TimeUnit方法也很有用

iqxoj9l9

iqxoj9l92#

从示例中的数据来看,首先需要从值中删除小时、分钟和秒。使用%就足够了。
从此值中删除一天中毫秒数的剩余部分。

l -= l% (1000*60*60*24);

举个小例子:

long l = 1479912701805l;
    Calendar c = Calendar.getInstance();
    c.setTimeInMillis(l);
    System.out.println(c.getTime());
    l -= l% (1000*60*60*24);
    c.setTimeInMillis(l);
    System.out.println(c.getTime());

2016年欧洲中部时间11月23日星期三15:51:41
2016年欧洲中部时间11月23日星期三01:00:00
PS:剩余小时为时区;)
1479912701805
1479859200000
然后,只需将其除以1000,以删除3的第一个数字

相关问题