这些值可能是一个整数,计数自 1970 年第一刻(UTC,1970-01-01T00:00Z)的纪元参考以来的毫秒数。
这里有一些 Java 代码将这些数字解析为 Instant 对象。
List< Long > inputs = List.of( 1_022_290_663_000L , 1022809063000L , 1172792113000L , 1173483313000L , 1351803408000L , 1353531408000L , 1290517173000L , 1293022773000L ) ;
for( Long input : inputs )
{
Instant instant = Instant.ofEpochMilli( input ) ;
System.out.println( input + " → " + instant ) ;
}
看到这个code run live at IdeOne.com。
1022290663000 → 2002-05-25T01:37:43Z
1022809063000 → 2002-05-31T01:37:43Z
1172792113000 → 2007-03-01T23:35:13Z
1173483313000 → 2007-03-09T23:35:13Z
1351803408000 → 2012-11-01T20:56:48Z
1353531408000 → 2012-11-21T20:56:48Z
1290517173000 → 2010-11-23T12:59:33Z
1293022773000 → 2010-12-22T12:59:33Z
要计算一对之间经过的时间,请从后面的数字中减去前面的数字,除以 1,000 表示秒数,除以 60 表示分钟数,再除以 60 表示小时数。
我不使用 SQLite,但我想你可以使用 arithmetic operators found in SQLite 来做到这一点。
可能是这样的:
SELECT ( ( end_at - start_at ) / 1000 / 60 / 60 )
FROM whatever ;