python - 将 Twitter 新日期格式转换为日期时间 ( %Y-%m-%d %H:%M%S' )
问题描述
Twitter 的新日期格式曾经是
%a %b %d %H:%M%S 0000 %Y
然而现在是这样的……
df.created_at[0]
'2021-03-08T19:14:00.000Z'
我们如何转换它?令我困惑的是弄清楚如何处理“T”和“.000Z”部分。
谢谢!
乙:
为了清楚起见,https ://developer.twitter.com/en/docs/twitter-ads-api/timezones说明了 strptime 是什么。但是,它似乎对我不起作用。
尝试我最好的猜测...
datetime.strftime( datetime.strptime( df.created_at[0], '%Y-%m-%dT%H:%M:%S.00%z' ), '%Y-%m-%d %H:%M:%S' )
ValueError: time data '2021-03-08T19:14:00.000Z' does not match format '%Y-%m-%dT%H:%M:%S.00%z'
尝试他们的精确匹配...
datetime.strftime( datetime.strptime( df.created_at[0], '%Y-%m-%dT%l:%M:%S%z' ), '%Y-%m-%d %H:%M:%S' )
ValueError: 'l' is a bad directive in format '%Y-%m-%dT%l:%M:%S%z'
解决方案
>>> datetime.strftime( datetime.strptime(s, '%Y-%m-%dT%H:%M:%S.00%z' ), '%Y-%m-%d %H:%M:%S' )
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.8/_strptime.py", line 568, in _strptime_datetime
tt, fraction, gmtoff_fraction = _strptime(data_string, format)
File "/usr/lib/python3.8/_strptime.py", line 349, in _strptime
raise ValueError("time data %r does not match format %r" %
ValueError: time data '2021-03-08T19:14:00.000Z' does not match format '%Y-%m-%dT%H:%M:%S.00%z'
>>> datetime.strftime( datetime.strptime(s, '%Y-%m-%dT%H:%M:%S.000%z' ), '%Y-%m-%d %H:%M:%S' )
'2021-03-08 19:14:00'
您只是在解析字符串中缺少 a 0
。
推荐阅读
- angular - Angular 9 - 在某些特定情况下不可点击的按钮
- android - 每当我尝试运行我的 Flutter 程序时,它都会卡在“Running Gradle task 'assembleDebug”
- c - How to fix localtime structure corruption
- django - Multiple domains with Nginx, Varnish and Django all return the same cached page
- r - Is there a way to create an R matrix (datatype) in PowerBI?
- jquery - Sticky navbar won't show up properly
- elasticsearch - Does the latest elasticsearch 7.x support scrolling across clusters in different nodes
- c++ - How to change already created folder/directory security permission using Windows API C++
- python - Calculate head-to-head statistics using Pandas
- c++ - Where do I store cross platform C++ app storage?