为什么使用Javascript';s日期(时间戳)和Python';s datetime.fromtimestamp(时间戳)不同?

为什么使用Javascript';s日期(时间戳)和Python';s datetime.fromtimestamp(时间戳)不同?,javascript,python,date,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) 但问题是,此代码会导致以下结果: dat

我在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函数
Date()
new Date(…)
调用的
Date
构造函数不同。该函数以静默方式忽略任何参数,并返回表示当前时间的字符串,而不是新的
Date
实例。(有关更多参考,请参阅。)

因此,您应该在JavaScript中使用
newdate(timestamp)
,在Python和JavaScript中会得到相同的结果


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

Python为该时间戳给出的日期是正确的,而您在JavaScript中获得的日期是错误的-您可以在或使用*nix date实用程序确认这一点。你使用的JavaScript代码是什么?你是说日期错了吗?或者格式化?尝试在JavaScript中使用
newdate(…)
而不是
Date(…)
。另请参见
Date(…)
不接受时间戳。它只返回一个表示当前时间的字符串。你会知道的-只要反复快速输入日期(1436428916900),你就会明白我在说什么<代码>新日期(1436428916900)是您需要的。谢谢!我不认为问题出在JS代码中。“函数只接受一个日期字符串…”有误导性。它还接受时间值编号和对象,如日期实例(请参阅)。@RobG您链接的似乎是
date
构造函数的文档,而不是作为函数调用时的
date()
。我不知道后者在标准中记录在哪里(或者是否有提及)。然而,我尝试了Firefox、Chrome和NodeJS,它们的
Date(timestamp)
都没有任何意义。它总是返回一个引用当前时间的日期字符串,而与传入的时间戳的值无关。我唯一的参考是我链接的答案。@RobG:我找到了:“当日期作为函数而不是构造函数调用时,它返回一个表示当前时间(UTC)的字符串。”它总是返回当前日期,并且根本不接受任何参数。我将相应地更正我的答案。@SvenMarnach ECMAScript 2015在许多方面比以前的版本更令人困惑,这是另外一个版本。谁会想到“Date(value)…当调用Date函数时…”真正的意思是
新的日期(value)
(在以前的版本中就是这样写的)?