我在字符串中有日期:
Tue Oct 04 2016 12:13:00 GMT+0200 (CEST)
我使用(根据https://docs.python.org/2/library/datetime.html#strftime-strptime-behavior):
datetime.strptime(datetime_string, '%a %b %m %Y %H:%M:%S %z %Z')
但我收到错误:
ValueError: 'z' is a bad directive in format '%a %b %m %Y %H:%M:%S %z %Z'
如何正确地做到这一点?
答案 0 :(得分:4)
%z是false
,boolean equal = false & true
是+0200
。因此:
%Z
我还将CEST
替换为>>> s = "Tue Oct 04 2016 12:13:00 GMT+0200 (CEST)"
>>> datetime.strptime(s, '%a %b %d %Y %H:%M:%S GMT%z (%Z)')
datetime.datetime(2016, 10, 4, 12, 13, tzinfo=datetime.timezone(datetime.timedelta(0, 7200), 'CEST'))
; %m
是数月的月份,因此在您的情况下%d
将被解析为4月。
答案 1 :(得分:2)
python datetime无法解析lut = [1:6 NaN];
myColorMap = jet(6);
imagesc(lut, 'AlphaData', ~isnan(lut))
colormap(myColorMap);
L = line(ones(6), ones(6));
set(L, {'Color'}, num2cell(myColorMap, 2))
legend(L, {'Forest','Shrubland','Savanna','Grassland','Agricultural','Barron'})
部分(您可能希望以格式手动指定它)。您可以改为使用GMT
:
dateutil
答案 2 :(得分:1)
在不考虑datetime
格式标识符的情况下实现此目的的更简单方法是使用dateutil.parser()
。例如:
>>> import dateutil.parser
>>> date_string = 'Tue Oct 04 2016 12:13:00 GMT+0200 (CEST)'
>>> dateutil.parser.parse(date_string)
datetime.datetime(2016, 10, 4, 12, 13, tzinfo=tzoffset(u'CEST', -7200))