如何检查变量是否包含日期时间及其格式以仅包含日期、小时、分钟和秒。不是毫秒。
我遇到的问题是该变量不是日期时间格式,因为它可以包含文本或日期时间。
return isinstance(new_value, datetime.datetime)
因此运行上面的命令会返回 false。
如果 new_value 包含 2016-05-24 09:26:51.754000+00:00 我如何将其格式化为如下所示:2016-05-24 09:26:51
首先你需要将日期字符串转换为日期时间对象,这样你可以用'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