【问题标题】:Convert nanoseconds to timestamp in Python [duplicate]在Python中将纳秒转换为时间戳[重复]
【发布时间】:2017-04-06 18:59:22
【问题描述】:

我知道可以将 java 中的纳秒转换为这样的时间戳:

import java.util.Date;
 public class DateDemo {

  public static void main(String args[]) {
  // Instantiate a Date object

    long i = 1462352019029395103L;
  // display time and date using toString()
   Date date = new Date(i / 1000000);

  System.out.println(date.toString());
  }
 }

这个品牌:2016 年 5 月 4 日星期三 08:53:39 UTC

在 Python 中,输出为:

>>> from datetime import datetime
>>> dt = datetime.fromtimestamp(1462352019029395103 // 1000000000)
>>> s = dt.strftime('%Y-%m-%d %H:%M:%S')
>>> s
'2016-05-04 10:53:39'

python 中的差异是 2 小时。我不知道具体为什么。我阅读了一些较早的帖子,Python 无法转换纳秒。有什么方法可以让我在 python 中获得准确的时间戳?

【问题讨论】:

标签: python date time


【解决方案1】:

使用utcfromtimestamp 使其与Java 中的日期时间等价:

>>> dt = datetime.utcfromtimestamp(1462352019029395103 // 1000000000)
>>> dt.strftime('%Y-%m-%d %H:%M:%S')
'2016-05-04 08:53:39'

参考:

Coordinated Universal Time

'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-09
    • 2018-03-15
    • 2018-12-09
    • 2021-10-23
    • 1970-01-01
    • 2019-05-28
    • 1970-01-01
    相关资源
    最近更新 更多