【问题标题】:Django check if variable contains datetime and formatDjango检查变量是否包含日期时间和格式
【发布时间】:2016-10-05 18:55:29
【问题描述】:
如何检查变量是否包含日期时间及其格式以仅包含日期、小时、分钟和秒。不是毫秒。
我遇到的问题是该变量不是日期时间格式,因为它可以包含文本或日期时间。
return isinstance(new_value, datetime.datetime)
因此运行上面的命令返回 false。
如果 new_value 包含 2016-05-24 09:26:51.754000+00:00 我如何将其格式化为如下所示:2016-05-24 09:26:51
【问题讨论】:
标签:
python
django
reversion
【解决方案1】:
首先您需要将日期字符串转换为日期时间对象,这样您可以使用“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