为什么Javascript的日期(时间戳)和Python的datetime.fromtimestamp(时间戳)不同?

时间:2016-02-16 18:14:48

标签: javascript python date

我在JS中有以下时间戳: 1436428916900 当我在JS中输入这个日期时,我得到了以下结果:

  
    

日期(1436428916900)         " 2016年2月16日星期二20:09:42 GMT + 0200(EET)"

  

我在SO上发现了几个问题,其中大多数提供了以下解决方案:

import datetime
my_time = 1436428916900
date = datetime.datetime.fromtimestamp(my_time / 1e3)

但问题是此代码会产生以下结果:

datetime.datetime(2015, 7, 9, 11, 1, 56, 900000)

这与JS代码完全不同。

资料来源:JavaScript timestamp to Python datetime conversion

How to convert integer timestamp to Python datetime

1 个答案:

答案 0 :(得分:5)

JavaScript函数Date()Date调用的new Date(…)构造函数不同。该函数以静默方式忽略任何参数,并返回表示当前时间的字符串,而不是新的Date实例。 (有关详细信息,请参阅EcmaScript 2015 Specification。)

所以你应该在JavaScript中使用new Date(timestamp),你将在Python和JavaScript中获得相同的结果。

JavaScript是一种非常特殊的语言。