The*_*nil 10 datetime python-3.x
我想以毫秒为单位将 13 位 Unix 时间转换为时间戳:
“1523126888080”==>> %Y-%m-%d %H:%M:%S
我已经从这个链接尝试了以下代码,
但我认为这是 10 位 Unix 时间,我有 13 位 Unix 时间。所以,
此代码正在运行,但它给出了错误的结果和错误的时间:
import time
time.strftime("%D %H:%M", time.localtime(int("1523126888080".strip()[0:9])))
Output: '1974-10-30 02:34:48'
Expected: '2018-04-08 12:18:08'
Run Code Online (Sandbox Code Playgroud)
但是这个给出了错误:
import time
time.strftime("%D %H:%M", time.localtime(int("1523126888080")))
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
time.strftime("%D %H:%M", time.localtime(int("1523126888080")))
OSError: [Errno 22] Invalid argument
Run Code Online (Sandbox Code Playgroud)
zwe*_*wer 16
您有一个精确到毫秒的时间戳,因此首先将其除以1000
然后将其提供datetime.datetime.fromtimestamp()
给本地时区(或将datetime.tzinfo
目标时区作为第二个参数传递)或datetime.datetime.utcfromtimestamp()
UTC。最后,使用datetime.datetime.strftime()
将其转换为所需格式的字符串。
import datetime
timestamp = "1523126888080"
your_dt = datetime.datetime.fromtimestamp(int(timestamp)/1000) # using the local timezone
print(your_dt.strftime("%Y-%m-%d %H:%M:%S")) # 2018-04-07 20:48:08, YMMV
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
12762 次 |
最近记录: |