【问题标题】:Conversion date from tweet in pythonpython中推文的转换日期
【发布时间】:2019-02-21 13:18:31
【问题描述】:

python 中转换日期时遇到问题。

例如,您可以在 csv 文件中看到,在“created_date”列的索引 0 处,我的值是 "1550740786000"

我希望将此日期转换为更“传统的形式”

我尝试使用下面的代码:


输入:

time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(int(pd_testData_filtered["created_at"].iloc[0])))

输出:

51109-10-14 02:13:20

此推文已于 20/02/2019 14:29 发布

有人可以帮我吗?

最好的问候。

CSV file

【问题讨论】:

  • 你确定你的时间对象是正确的吗?如果除以 1000,效果会更好。

标签: python datetime-conversion


【解决方案1】:

这看起来像 Posix 时间戳,但以毫秒为单位。所以去掉最后 3 位数字:

>>> timestamp = 1550740786000
>>> datetime.datetime.fromtimestamp(timestamp / 1000)
datetime.datetime(2019, 2, 21, 10, 19, 46)

这不是您报告的确切发布时间,而是几个小时前,而且它似乎足够接近值得调查:也许是转发的原始时间戳?

【讨论】:

  • 我怀疑几个小时的差异是由于时区差异造成的。
  • @Nathan 时区差异很少超过 13 小时,即使忽略小时偏移,也无法解释 10 分钟的差异。
  • 这基本上是Theresa May的一条推文。我实际上在莫斯科,也许它可以解释其中的区别?
  • 不,莫斯科时间是 UTC+3,所以 2 月 21 日伦敦的 10:19 是莫斯科的 13:19,而 2 月 20 日伦敦的 14:29 是莫斯科的 17:29。 timeanddate.com/worldclock/…
  • @BoarGules 非常感谢您的帮助 :)
猜你喜欢
  • 1970-01-01
  • 2016-07-07
  • 2010-12-17
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-21
  • 1970-01-01
相关资源
最近更新 更多