gpt4 book ai didi

python - 将示例日期列表转换为 GMT

转载 作者:太空宇宙 更新时间:2023-11-03 18:39:04 26 4
gpt4 key购买 nike

我想用 python 编写一段代码,将所有日期(各种格式)转换为标准格式。我在stackoverflow上看到一个问题Converting various different date formats in to one common date format Java or Perl

我想用Python来做。

我尝试过这个:

DEFAULT_DATE = datetime.datetime(datetime.datetime.now().year, 1, 1)
dt = parser.parse(date,default = DEFAULT_DATE)

Original Modified
1.1995-01-24T09:08:17.1823213 1995-01-24 09:08:17.182321
2. Wed, 16 Jun 94 07:29:35 CST 1994-06-16 07:29:35
3. Thu, 13 Oct 94 10:13:13 -0700 1994-10-13 10:13:13-07:00
4. Wed, 9 Nov 1994 09:50:32 -0500 (EST) 1994-11-09 09:50:32-05:00
5. 21 dec 17:05 2014-12-21 17:05:00
6. 21-dec 17:05 2014-12-21 17:05:00
7. 21/dec 17:05 2014-12-21 17:05:00
8. 21/dec/93 17:05 1993-12-21 17:05:00
9. 16 Nov 94 22:28:20 PST 1994-11-16 22:28:20
10. 1999 10:02:18 'GMT' 1999-01-01 10:02:18+00:00

我还需要将时间转换为 GMT。与 2、3、4、9 一样,它显示的时间与原始列表中给出的时间相同。我想将它们转换为 GMT。对于 4,9 中的日期和时间,它采用 EST 和 PST 等,我想将它们转换为 GMT。

最佳答案

您可以将所有日期时间转换为 UTC ,将所有原始日期时间对象视为 UTC:

import pytz
def to_utc(dt):
try:
return dt.astimezone(pytz.utc)
except ValueError:
return pytz.utc.localize(dt)

演示:

>>> print '\n'.join(original)
1995-01-24T09:08:17.1823213
Wed, 16 Jun 94 07:29:35 CST
Thu, 13 Oct 94 10:13:13 -0700
Wed, 9 Nov 1994 09:50:32 -0500 (EST)
21 dec 17:05
21-dec 17:05
21/dec 17:05
21/dec/93 17:05
16 Nov 94 22:28:20 PST
1999 10:02:18 'GMT'
>>> modified = [parser.parse(od, default=DEFAULT_DATE) for od in original]
>>> in_utc = [to_utc(md) for md in modified]
>>> for d in in_utc:
... print d
...
1995-01-24 09:08:17.182321+00:00
1994-06-16 07:29:35+00:00
1994-10-13 17:13:13+00:00
1994-11-09 14:50:32+00:00
2014-12-21 17:05:00+00:00
2014-12-21 17:05:00+00:00
2014-12-21 17:05:00+00:00
1993-12-21 17:05:00+00:00
1994-11-16 22:28:20+00:00
1999-01-01 10:02:18+00:00

关于python - 将示例日期列表转换为 GMT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20956568/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com