如何将时区数字转换为 UTC?
我有一些具有不同时区的随机日期,它们的格式类似于 "07 Mar 2022 13:52:00 -0300"
,或者它们可能是这样的:"07 Mar 2022 11 :12:00 -0700"
。我不知道他们到底来自哪个时区。如何将它们全部转换为 UTC 时间 "0000Z"
?
I have some random dates with different timezones, they are in formats like this "07 Mar 2022 13:52:00 -0300"
, or they could be like this: "07 Mar 2022 11:12:00 -0700"
. I don't know which timezone exactly they will be coming from. How can I convert all of them to UTC time "0000Z"
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用标准模块 datetime 来实现此目的。
函数
strptime()
(字符串解析时间
)可以使用匹配模式将字符串转换为对象datetime
。对于您的示例,工作模式'%d %b %Y %H:%M:%S %z'
接下来您可以使用
.astimezone(datetime.timezone.utc)
转换为UTC
。稍后您可以再次使用模式
'%d %b %Y %H:%M:%S 使用
(或者您可以跳过strftime()
(字符串格式化时间
)格式化字符串%z'%z
)最小工作代码:
结果:
You can use standard module datetime for this.
Function
strptime()
(string parsing time
) can convert string to objectdatetime
using matching pattern. For your examples works pattern'%d %b %Y %H:%M:%S %z'
Next you can use
.astimezone(datetime.timezone.utc)
to convert toUTC
.And later you can format string with
strftime()
(string formatting time
) using again pattern'%d %b %Y %H:%M:%S %z'
(or you can skip%z
)Minimal working code:
Result:
我建议
导入datetime
,然后使用以下方法将时间戳转换为datetime对象(其中str是字符串形式的时间戳):time_stamp = datetime.strptime(str, "%d %b %Y")
(其中 str 之后的参数提供有关格式的信息;有关详细信息,请参见此处:https://www.programiz.com/python-programming/datetime/strptime)。之后,您可以使用
datetime.astimezone()
将其转换为另一个时区。I would suggest to
import datetime
, then use the following method to convert your time stamps into datetime objects (where str is the time stamp as a string):time_stamp = datetime.strptime(str, "%d %b %Y")
(where the parameter after str gives information on the formatting; for details see here: https://www.programiz.com/python-programming/datetime/strptime).After that, you can use
datetime.astimezone()
to convert this into another time zone.