将 UTC+0 转换为其他时区 Python

时间:2021-04-18 05:20:55

标签: python

我有一个从 API 获取的时间字符串,它是 UTC+0。我想更改为其他时区。 我在下面尝试过,但它不起作用。你能给我一些想法吗?非常感谢。

utc0time='2021-04-17T15:50:14.614646+00:00'
dt = datetime.strptime('utc0time', '%Y-%m-%dT%H:%M:%S%z'). #it results as an error, not match the format
time.mktime(dt.timetuple())
calendar.timegm(dt.timetuple())

2 个答案:

答案 0 :(得分:1)

您实际上可以在 timedelta 模块中使用 datetime 以 +/- 小时数来实现您希望的其他时区的时间。

以下是您可以使用 timedelta 的示例: https://www.geeksforgeeks.org/python-datetime-timedelta-function/

答案 1 :(得分:0)

感谢您的评论,它给了我这个想法。因为我只需要从一个时区转换到另一个时区,所以我不需要转换为多时区。这次我不使用pytz。我用了一个愚蠢的方法,先把str改成timestamp,然后用timedelta来调整小时数。下面是我的最终代码。

utc0time='2021-04-17T15:50:14.614646+00:00'
utc0time = utc0time[:-13]
timestamp = time.mktime(time.strptime(utc0time, '%Y-%m-%dT%H:%M:%S'))
datatimeformat = datetime.fromtimestamp(timestamp)
utc8time = datatimeformat + timedelta(hours = 8)