使用python转换从ntp服务器检索到的日期
是否可以将从NTP服务器检索的时间(使用python脚本)以这种格式“Wed Jul 13 00:17:58 CEST 2011”转换为这种格式“2011-07-13 00:18:10” 我得到这样的格式:“Wed Jul 13 00:17:58 CEST 2011” 我想将其转换为以下格式“2011-07-13 00:17:58”(“%Y-%m-%d%H:%m:%S”)使用python转换从ntp服务器检索到的日期,python,date,format,ntp,Python,Date,Format,Ntp,是否可以将从NTP服务器检索的时间(使用python脚本)以这种格式“Wed Jul 13 00:17:58 CEST 2011”转换为这种格式“2011-07-13 00:18:10” 我得到这样的格式:“Wed Jul 13 00:17:58 CEST 2011” 我想将其转换为以下格式“2011-07-13 00:17:58”(“%Y-%m-%d%H:%m:%S”) 谢谢:)在您的情况下,您可以直接从秒数转换为所需的时间格式;不过,我将在底部的案例片段之前解释一般解决方案 通常,这类问题在
谢谢:)在您的情况下,您可以直接从秒数转换为所需的时间格式;不过,我将在底部的案例片段之前解释一般解决方案 通常,这类问题在和的帮助下解决。您还应该参考python文档中的
strtime()
匹配日期字符串片段并创建python时间结构<然后,可以使用code>strftime()将该时间结构转换为所需的任何格式
from datetime import datetime
ntp_time = datetime.strptime(time_str_from_ntp, "%a %b %y %H:%M:%S")
formatted_time = datetime.strftime(ntp_time, "%Y-%m-%d %H:%M:%S")
或者在您的特定情况下,您可以替换
utc_secs = time.ctime(utc_secs)
使用(注意:如果您没有从datetime导入datetime,那么您应该使用下面的datetime.datetime.fromtimestamp
,而不仅仅是datetime.fromtimestamp
)
我不知道这在2011年是否正确,但我认为ntp_时间=。。。在第一个代码块中,应更正为ntp\u time=datetime.strtime(time\u str\u from\u ntp,“%a%b%d%H:%M:%S%Y”)
utc_secs = time.ctime(utc_secs)
formatted_time = datetime.fromtimestamp(utc_secs).strftime("%Y-%m-%d %H:%M:%S")
>>> sec #your utc_secs
1310511730
>>> time.ctime(sec) #instead of this
'Wed Jul 13 02:02:10 2011'
>>> d = datetime.datetime.fromtimestamp(sec) #do this
>>> d
datetime.datetime(2011, 7, 13, 2, 2, 10)
>>> d.strftime('%Y-%m-%d %H:%M:%S')
'2011-07-13 02:02:10'