如果我从Twitter中的Direct Message页面保存源html,我会发现类似这样的内容,其中似乎包含详细的时间戳:
< span class =“_ timestamp”data-aria-label-part =“last”data-time =“1469168058”data-long-form =“true”data-include-sec =“true”> Jul 22℃; /跨度>
如果我读取这些数据(例如,在Java中,仅包括java.io. *),有一种方法可以将data-time="1469168058"
中的数字转换为日期和时间,包括小时和分钟,也许是秒?
答案 0 :(得分:0)
大约一百五十万的计数通常意味着自1970年第一个时刻UTC以来的整秒数。这通常称为Unix time or Posix time。
在Java中,UTC时间轴上的分辨率为nanosecond的时刻由Instant
类表示。
long input = 1_469_168_058L;
Instant instant = Instant.ofEpochSecond ( input );
要通过特定时区的镜头查看同一时刻,请应用ZoneId
生成ZonedDateTime
个对象。
ZoneId zoneId = ZoneId.of ( "America/Chicago" );
ZonedDateTime zdt = instant.atZone ( zoneId );
转储到控制台。
System.out.println ( "input: " + input + " | instant: " + instant + " | zdt: " + zdt );
输入:1469168058 |时间:2016-07-22T06:14:18Z | zdt:2016-07-22T01:14:18-05:00 [美国/芝加哥]
此结果与数据块中包含的7月22日相匹配。