将时间GMT转换为UTC

发布于 2025-01-24 23:41:56 字数 926 浏览 0 评论 0原文

我正在尝试转换我在GMT时间获得的时间,但使用strptime逐步呈现详细信息。

from datetime import tzinfo, timedelta, datetime

ZERO = timedelta(0)

class FixedOffset(tzinfo):
    """Fixed UTC offset: `local = utc + offset`."""

    def __init__(self, offset, name):
        self.__offset = timedelta(hours=offset)
        self.__name = name

    def utcoffset(self, dt):
        return self.__offset

    def tzname(self, dt):
        return self.__name

    def dst(self, dt):
        return ZERO

utc = FixedOffset(0, "UTC")

以下代码显示了我要转换的数据。

Time = ("14:50:21.000 GMT Fri Apr 29 2022")
dt = datetime.strptime(Time , "%H:%M:%% GMT %% %% %% %%")
aware = dt.replace(tzinfo=FixedOffset(5, "GMT 0"))
print(aware)                 
print(aware.astimezone(utc))

返回消息

ValueError: time data '14:50:21.000 GMT Fri Apr 29 2022' does not match format '%H:%M:%% GMT %% %% %% %%'

I am trying to convert a time that I receive with GMT time but I render details by time format using strptime.

from datetime import tzinfo, timedelta, datetime

ZERO = timedelta(0)

class FixedOffset(tzinfo):
    """Fixed UTC offset: `local = utc + offset`."""

    def __init__(self, offset, name):
        self.__offset = timedelta(hours=offset)
        self.__name = name

    def utcoffset(self, dt):
        return self.__offset

    def tzname(self, dt):
        return self.__name

    def dst(self, dt):
        return ZERO

utc = FixedOffset(0, "UTC")

The following code shows the data that I want to convert.

Time = ("14:50:21.000 GMT Fri Apr 29 2022")
dt = datetime.strptime(Time , "%H:%M:%% GMT %% %% %% %%")
aware = dt.replace(tzinfo=FixedOffset(5, "GMT 0"))
print(aware)                 
print(aware.astimezone(utc))

Return the message

ValueError: time data '14:50:21.000 GMT Fri Apr 29 2022' does not match format '%H:%M:%% GMT %% %% %% %%'

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

路还长,别太狂 2025-01-31 23:41:56

%%用于%字符巫婆不以您的源时间格式尝试此格式

dt = datetime.strptime(Time , "%H:%M:%S GMT %a %b %d %Y")

,或者

dt = datetime.strptime(Time , "%H:%M:%S %Z %a %b %d %Y")

您可以阅读更多在这里关于格式参数的制定方式

%% is used for the % character witch is not in your source time format try this format

dt = datetime.strptime(Time , "%H:%M:%S GMT %a %b %d %Y")

or

dt = datetime.strptime(Time , "%H:%M:%S %Z %a %b %d %Y")

you can read more here on how the format argument is formulated

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文