Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将日期从Python转换为Javascript_Javascript_Python_Date - Fatal编程技术网

将日期从Python转换为Javascript

将日期从Python转换为Javascript,javascript,python,date,Javascript,Python,Date,我在Python和Javascript中处理日期时遇到困难 >>> d = date(2004, 01, 01) >>> d datetime.date(2004, 1, 1) >>> time.mktime(d.timetuple()) 1072944000.0 然后,在Javascript(通过Ajax发送的数据)中: 我很困惑。Javascript日期不应该与我在Python中输入的日期相同吗?我做错了什么?Javascript的Da

我在Python和Javascript中处理日期时遇到困难

>>> d = date(2004, 01, 01)
>>> d
datetime.date(2004, 1, 1)
>>> time.mktime(d.timetuple())
1072944000.0
然后,在Javascript(通过Ajax发送的数据)中:


我很困惑。Javascript日期不应该与我在Python中输入的日期相同吗?我做错了什么?

Javascript的
Date()
以毫秒为参数。Python使用秒。必须乘以1000。

Python将以秒为单位返回自纪元以来的时间。Javascript以毫秒为单位计算时间。将时间乘以1000,然后将其传递给
Date()
,您应该会得到预期的结果

new Date(1072944000.0 * 1000)
Python:

import datetime, time
d = datetime.datetime.utcnow()
for_js = int(time.mktime(d.timetuple())) * 1000
然后在JS中:

new Date({{ for_js }});
在烧瓶中,您可以执行以下操作:

@app.template_filter('date_to_millis')
def date_to_millis(d):
    """Converts a datetime object to the number of milliseconds since the unix epoch."""
    return int(time.mktime(d.timetuple())) * 1000
然后做:

new Date({{ current_user.created|date_to_millis }});
new Date({{ current_user.created|date_to_millis }});