Jav*_*aaa 41 python django twitter date
我收到的Twitter消息是在特定日期以下列格式从twitter发送的:
Tue Mar 29 08:11:25 +0000 2011
Run Code Online (Sandbox Code Playgroud)
我想在postgresql中使用djangos DateTimeField字段将这些日期存储在"timestamp with time zone"字段中.当我存储该字符串但是我收到此错误:
ValidationError: [u'Enter a valid date/time in YYYY-MM-DD HH:MM[:ss[.uuuuuu]] format.']
Run Code Online (Sandbox Code Playgroud)
我可以自动将twitter日期类型转换为python日期时间(在我的应用程序的其他地方可以用来保存日期).
Chr*_*ing 63
写这样的东西应该将推特日期转换为时间戳.
import time
ts = time.strftime('%Y-%m-%d %H:%M:%S', time.strptime(tweet['created_at'],'%a %b %d %H:%M:%S +0000 %Y'))
Run Code Online (Sandbox Code Playgroud)
Rob*_*wie 13
放手一搏.它假定来自twitter的日期格式符合RFC822(请参阅@Adrien链接的问题).
构造了一个天真的日期时间对象(即没有时区信息).它根据UTC的时区偏移进行调整.除非您需要保留原始时区,否则我会在显示时将日期时间存储为UTC并格式化为本地时间.
from datetime import datetime, timedelta
from email.utils import parsedate_tz
s = 'Tue Mar 29 08:11:25 +0000 2011'
def to_datetime(datestring):
time_tuple = parsedate_tz(datestring.strip())
dt = datetime(*time_tuple[:6])
return dt - timedelta(seconds=time_tuple[-1])
Run Code Online (Sandbox Code Playgroud)
有点旧,但使用 parse 真的可以帮助我解决这个问题
from datetime import datetime
from dateutil.parser import parse
date = 'Fri May 10 00:44:04 +0000 2019'
dt = parse(date)
print(dt)
# 2019-05-10 00:44:04+00:00
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
22373 次 |
最近记录: |