Python格式日期问题
一些我认为会很简单的事情已经变成这样一种斗争。 我想格式化日期时间对象。Python格式日期问题
From this 2016-06-17 09:56:53.289000+00:00 to 2016-06-17 09:56:53
我试过的这段代码并没有对输出做任何修改。它跳过它。
if type(field) is models.DateField:
if old_value != None:
old_value = old_value.strftime('%Y-%m-%d %H:%M:%S')[:-3]
if new_value != None:
new_value = new_value.strftime('%Y-%m-%d %H:%M:%S')[:-3]
然后我尝试以下
if isinstance(new_value, datetime.datetime):
new_value = new_value.utcnow().strftime('%Y-%m-%d %H:%M:%S')[:-3]
if isinstance(old_value, datetime.datetime):
old_value = old_value.utcnow().strftime('%Y-%m-%d %H:%M:%S')[:-3]
然而,它同时删除NEW_VALUE和OLD_VALUE,不显示任何值的任何痕迹。这让我很困惑!
我的代码的结束部分如下,显示日期:
if new_value != old_value:
print "%s does not match" % key
changes[key] = "Field %s %s updated to %s<br/>" % (key, old_value, new_value)
如果任何人都可以在正确的方向指向我,将是巨大的。
尝试取出.utcnow()
叫你之前,你的.strftime()
来电补充说。 new_value.utcnow()
调用datetime.datetime.utcnow
,它返回一个全新的datetime.datetime对象,表示当前时间,它与new_value
或old_value
无关。
一整天浪费我的时间在这,你会发现我的错误,2秒!谢谢! – JohnTaylor
适合我们所有人!很高兴我能帮上忙! – Kate
d = '2016-06-17 09:56:53.289000+00:00'
print(datetime.strptime(d[:19], '%Y-%m-%d %H:%M:%S').strftime('%Y-%m-%d %H:%M:%S'))
根据您的代码只是一个简单的片断
In [11]: from datetime import datetime
In [12]: mytime = now.strftime("%Y-%m-%d %H:%M:%S")
In [13]: print(mytime)
2016-06-21 16:44:32
我认为这会做 – shining