如何检查日期字段是否为ISO格式?

时间:2018-02-12 15:44:44

标签: python mongodb pymongo iso

使用Python,有没有办法检查MongoDB集合中文档的date字段是ISO格式还是字符串格式?

4 个答案:

答案 0 :(得分:1)

您可以轻松地将日期时间对象转换为Python中的.isoformat()字符串。另一个方向有点难,但也有效。使用这些代码段。如果他们返回日期时间对象,您会很高兴。

pip install python-dateutil

...然后

import datetime
import dateutil.parser

def getDateTimeFromISO8601String(s):
    d = dateutil.parser.parse(s)
    return d

检查:

https://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior

How to convert python .isoformat() string back into datetime object

答案 1 :(得分:1)

您可以使用fromisoformat库中的datetime方法。

from datetime import date

try:
    date.fromisoformat(date_string)
except ValueError:
    print("Invalid isoformat string")

答案 2 :(得分:0)

您可以使用以下语句:

if variable_name is str:
    print('string format!')
else:
    print('not a string!')

答案 3 :(得分:0)

根据我的记忆,ISO格式是一个字符串,所以我会做类似的事情:

if len(date.split('-') == 3):
    print('ISO string format')
else:
    print('String format')