【发布时间】:2018-06-22 13:08:19
【问题描述】:
在 Python 和 Ruby 语言之间将数据时间转换为纪元格式时遇到奇怪的问题。我注意到同一台服务器上的秒数差异很大。
在 Python 3.6.2 中:
>>> datetime.datetime.utcnow()
datetime.datetime(2018, 1, 13, 4, 25, 19, 204056)
>>> int(datetime.datetime.utcnow().strftime("%s"))
1515839122
>>>
在 Ruby 1.8.7 中:
irb(main):038:0> Time.now.utc
=> Sat Jan 13 04:25:18 UTC 2018
irb(main):039:0> Time.now.utc.to_i
=> 1515817520
irb(main):040:0>
我担心是否在任何上述语言中使用了错误的方法,或者正在寻找解决此问题的方法以在两种语言中获得相同的纪元秒数。由于我的应用程序被开发为使用这两种语言工作,因此这些语言之间将共享纪元时间。
我相信语言版本无关紧要,因为无论语言如何,时间戳都是相同的。
【问题讨论】:
-
.strftime("%s")是无效的格式字符串。引发错误。不知道你是怎么得到的。 -
@sytech 它在 python 3.6.2 中对我有用。
-
为什么说“以秒为单位的巨大差异”而不是“六小时差异”?我觉得后者更有意义。
标签: python ruby timestamp epoch