在Python中将纳秒转换为时间戳

时间:2016-11-22 22:48:18

标签: python date time

我知道可以将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());
  }
 }

此制作:Wed May 04 08:53:39 UTC 2016

在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中获得准确的时间戳?

1 个答案:

答案 0 :(得分:4)

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

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

参考:

Coordinated Universal Time

'