Python 3.x验证日期和时间格式(带时区)

Python 3.x validate date and time format (with timezone)

我想用一些RFC定义的格式验证日期。问题是时区可能不同,例如

1
2
3
24 Dec 1991 23:59:23 UTC
24 Dec 1991 23:59:23 EST
24 Dec 1991 23:59:23 CST

我扩展了这个代码,它很好地工作如何使用python验证特定日期和时间格式

1
2
3
4
5
6
def validate_date(d):
    try:
        datetime.strptime(d, '%d %b %Y %H:%M:%S %Z')
        return True
    except ValueError:
        return False

只要时区是UTC(我的本地时区)。

我想我可以改变我当地的时区在python中设置时区

但接下来我需要提取字符串的最后一部分并进行测试,但感觉很混乱。然后我宁愿使用完整的regex解决方案。

我正在研究http://labix.org/python-dateutil,但不确定如何使用它来解决这个问题。


我真的不明白这一切是怎么回事。

使用DATEUTIL

https://stackoverflow.com/a/4766400/1267259

这个解决方案的局限性可以在https://stackoverflow.com/a/18407231/1267259(什么是"标准"时区缩写?)