我试图找到一种翻译这个字符串的好方法:
'20171127124906.359599 + 000' - 进入日期/时间;
我目前正试图通过将字符串切割成不同的元素来实现这一目标,但代码开始看起来有点难看。
基本上,我的目标是找到一种最恐怖或优雅的方式来计算机器UpTime;
我从WMI,Win32_OperatingSystem类中获取此字符串;我想用两个值来计算机器UpTime;
LastBootUpTime = '20171127124906.359599+000'
LocalDateTime = '20171201151404.691000+000'
有什么建议吗?
答案 0 :(得分:1)
正常UTC偏移量通常为四位+HHMM
。如果您可以将时间戳转换为该时间戳,则可以使用
form datetime import datetime
t = '20171127124906.359599+000'
# I think that your inputs are of the form HHM (So 11:30 would be 113).
# This rounds that out by adding a zero at the end
t = t + '0'
datetime.strptime(t, '%Y%m%d%H%M%S.%f%z')
给我们
datetime.datetime(2017, 11, 27, 12, 49, 6, 359599, tzinfo=datetime.timezone.utc)
如果要更改该格式字符串,则其文档为here