问题
将字符串转换为时间格式。
解决方案
from datetime import datetime
datetime.strptime('2012-09-20', '%Y-%m-%d')
datetime.strptime() 方法支持很多的格式化代码, 比如%Y代表4位数年份, %m代表两位数月份。这些格式化占位符也可以反过来使用,将日期输出为指定的格式字符串形式。
需要注意的是, strptime() 的性能要比想象中的差很多, 因为它是使用纯Python实现,并且必须处理所有的系统本地设置。 如果在代码中需要解析大量的日期并且已经确定了日期字符串的确切格式,可以自定义一套解析方案来获取更好的性能。
比如,如果你已经知道所以日期格式是 YYYY-MM-DD ,可以像下面这样实现一个解析函数:
from datetime import datetime
def parse_ymd(s):
year_s, mon_s, day_s = s.split('-')
return datetime(int(year_s), int(mon_s), int(day_s))
如果要处理大量的涉及到日期的数据的话,那么最好考虑第二个方案!