1

如何检查变量是否包含日期时间及其格式以仅包含日期、小时、分钟和秒。不是毫秒。

我遇到的问题是该变量不是日期时间格式,因为它可以包含文本或日期时间。

return isinstance(new_value, datetime.datetime)

因此运行上面的命令会返回 false。

如果 new_value 包含 2016-05-24 09:26:51.754000+00:00 我如何将其格式化为如下所示:2016-05-24 09:26:51

4

1 回答 1

0

首先你需要将日期字符串转换为日期时间对象,这样你可以用'isinstance()'检查它,但我想建议更好的解决方案,我认为:),因为在Python 2.7,所以仍然很受欢迎,我们在将日期字符串转换为日期时间对象时遇到时区偏移( %z )问题,所以这是我没有'strptime'的解决方案:

from dateutil import parser
date = '2016-05-24 09:26:51.754000+00:00'
try:
    # something if format correct
    parsed_date = parser.parse(date)
    # formatting
    print parsed_date.strftime("%Y-%m-%d %H:%M:%S")
except ValueError:
    # something if format incorrect
    print 'Wrong date format'

当然,请不要忘记写:

$pip install python-dateutil
于 2016-06-06T09:40:09.837 回答