有没有办法告诉一条推文是否是根据推文ID创建的?

时间:2015-04-20 17:48:28

标签: twitter twitter4j

目前我正在检查是否在基于时间戳的另一条推文之后创建了一条推文,但这证明是不一致的。在本地工作的东西在我的服务器上不能一直工作。我怀疑是时区问题(我的服务器在另一个时区)。

但是我想知道我是否可以根据推特每条推文的独特ID来做到这一点?表格中的东西:

if (tweet2.id > tweet1.id) {
    // tweet2 created after tweet 1
} else {
    // tweet2 created before tweet 1
}

这可能吗?如果不是,我会问另一个关于我的日期实施可能出现什么问题的问题。

1 个答案:

答案 0 :(得分:4)

  • Twitter ID由twitter snowflake机制生成 是一种算法和一组机器来生成它。一般来说 那些id是顺序的,所以你的比较基本上是成立的。该 问题是那些id目前是> 64位所以js会截断 那些。诀窍是使用tweetXXX.id_str字段,即id 用于比较的字符串。
  • 我还没有看到您的日期实施,但可能您没有比较UTC日期值。任何在datetime上进行的比较都不会给你正确的结果,即使在ms规模上也会有相同的日期时间有很多推文。