pythonunix时间在Javascrip中不起作用

2024-09-30 20:33:52 发布

您现在位置:Python中文网/ 问答频道 /正文

在Python中,使用日历.timegm(),我得到一个10位数的unix时间戳结果。当我把它放到Javscript的setTime()函数中时,它会显示一个日期是1970年。显然,它需要一个13位数长的unix时间戳。怎么会这样?他们是从同一天算起的吗?在

如何在这两种语言之间使用相同的unix时间戳?在

在Python中:

In [60]: parseddate.utctimetuple()
Out[60]: (2009, 7, 17, 1, 21, 0, 4, 198, 0)
In [61]: calendar.timegm(parseddate.utctimetuple())
Out[61]: 1247793660

在Firebug中:

^{pr2}$

Tags: 函数in语言时间unixoutcalendar位数
3条回答

timegm基于Unix的gmtime()方法,该方法自1970年1月1日起返回秒数。在

JavascriptssetTime()方法自该日期起为毫秒。您需要将秒数乘以1000才能转换为Javascript所期望的格式。在

下面是我用来在javascript/datetime之间进行转换的两个python方法。在

def to_datetime(js_timestamp):
    return  datetime.datetime.fromtimestamp(js_timestamp/1000)

def js_timestamp_from_datetime(dt):
    return 1000 * time.mktime(dt.timetuple())

在javascript中,您可以:

^{pr2}$

你可能把1970年以来的秒数和1970年以来的毫秒数混在一起吗?在

相关问题 更多 >