根据官方twitter api页面https://dev.twitter.com/overview/api/tweets ) 每条推文的“created_at”时间戳是根据“创建此推文的 UTC 时间”编译的。
哪个世界标准时间?
因为在推文结构内的 User 结构下,我找到了创建推文的用户的“utc_offset”( https://dev.twitter.com/overview/api/users )。
所以我的问题是,我是否可以考虑将每条推文的“created_at”字段独立于所使用的 API,视为没有偏移量的 UTC。
只是为了确定 twitter4j 是否会改变这种行为,因为如果我在意大利运行一个简单的流测试,UTC-1 在哪里
String now = new SimpleDateFormat("yyyyMMdd_HHmmss").format(Calendar.getInstance().getTime());
System.out.println("test run at: " + now);
StatusListener listener = new StatusListener(){
@Override
public void onException(Exception ex) {
ex.printStackTrace();
}
@Override
public void onStatus(Status status) {
System.out.println("@" + status.getId() + " - " + status.getCreatedAt().toString());
}
@Override
public void onDeletionNotice(StatusDeletionNotice sdn) {
}
@Override
public void onScrubGeo(long l, long l1) {
}
@Override
public void onStallWarning(StallWarning sw) {
}
@Override
public void onTrackLimitationNotice(int i) {
}
};
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
.setOAuthConsumerKey ...
TwitterStream twitterStream = new TwitterStreamFactory(cb.build()).getInstance();
twitterStream.addListener(listener);
twitterStream.sample();
结果我得到了这样的结果:
run:
test run at: 20160921_084244
[Wed Sep 21 08:42:44 CEST 2016]Establishing connection.
[Wed Sep 21 08:42:46 CEST 2016]Connection established.
[Wed Sep 21 08:42:46 CEST 2016]Receiving status stream.
@778484603443113985 - Wed Sep 21 08:42:47 CEST 2016
@778484603443085312 - Wed Sep 21 08:42:47 CEST 2016
@778484603434795008 - Wed Sep 21 08:42:47 CEST 2016
@778484603443154945 - Wed Sep 21 08:42:47 CEST 2016
@778484603438923776 - Wed Sep 21 08:42:47 CEST 2016
@778484603434721280 - Wed Sep 21 08:42:47 CEST 2016
很容易注意到推文没有以标准 UTC 显示,似乎 twitter4j 会自动根据本地时区调整它们。
有人可以帮助我更好地理解吗?
最佳答案
来自documentation结果格式如下
"created_at":"Wed Aug 27 13:08:45 +0000 2008"
+0000
是偏移量,Twitter4j 仅接受此输入并创建一个 Date
Java 变量。这意味着控制台上显示的时间取决于您的配置和系统。
关于java - twitter4j 和 twitter 时间戳处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39609872/