Python:字符串和datetime的转换

时间:2022-06-01 18:01:37

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
  • %%: 表示%