Python的字符串和时间的转换可以分别使用strptime和strftime。
strptime(string parse time)
datetime.strptime(date_string, format),根据format指定的时间格式解析用于表示时间的字符串date_string。
>>>from datetime import datetime
>>>datetime_object = datetime.strptime('2017年12月03日 14:34:45', '%Y年%m月%d日 %H:%M:%S');
>>>datetime_object.date()
datetime.date(2017,12,3)
>>>datetime_object.time()
datetime.time(14,34,45)
可以使用datetime.date()获取日期
strftime(string format time)
datetime.strftime(format),与strptime相反,strftime会根据format指定的时间格式把时间对象转换为字符串。
上面例子里的datetime_object转换为字符串
>>>datetime_object.strftime('%Y-%m-%d %H:%M')
'2017-12-03 14:34'
formt格式
- %a:星期的简写,如 Mon
- %A:星期的全称,如 Monday
- %w:数字表示的星期,0表示星期日
- %d: 表示月份第几天的数字,十位数缺失补0. 30
- %b: 本地化月份简写 ,如Sep
- %B: 本地化的月份全称,如September
- %m:数字表示的月份,十位数缺失补0,如 09
- %y: 没有世纪的年份,十位数缺失补0,如17
- %Y:带世纪的年份,如 2017
- %H:24小时制的小时数,十位数缺失补0,如07
- %l:12小时制的小时数,十位数缺失补0,如07
- %p:本地化的上午(AM)或下午(PM),如 AM
- %M: 分钟,十位数缺失补0,如06
- %S:秒,十位数缺失补0,如05
- %f:毫秒数,高位缺失左补0. 000000
- %z:以+HHMM 或-HHMM格式表示UTC偏移量
- %Z:Time zone名
- %j: 每年的第几天,左补0,如273
- %U:每年的第几周,每周以星期天开始算,数字从0开始表示, 39
- %W:每年的第几周,每周以周一开始算,数字从0开始表示,如39
- %c: 本地化的date和time表示,如Mon Sep 30 07:06:05 2013
- %x: 本地化的date表示,如09/30/13
- %X: 本地化的time表示,如07:06:05
- %%: 表示%