- strptime() 函数根据指定的格式把一个时间字符串解析为时间元组。
time.strptime(string[, format])
import time
oridate = "January 22, 2019 1:45 pm"
print(time.strptime(oridate,"%B %d, %Y %I:%M %p"))
# time.struct_time(tm_year=2019, tm_mon=1, tm_mday=22, tm_hour=13, tm_min=45, tm_sec=0, tm_wday=1, tm_yday=22, tm_isdst=-1)
- mktime() 函数执行与localtime()相反的操作,它接收struct_time对象作为参数,返回用秒数来表示时间的浮点数。如果输入的值不是一个合法的时间,将触发 OverflowError 或 ValueError。
time.mktime(t)
print(time.mktime(time.strptime(oridate,"%B %d, %Y %I:%M %p")))
# 1548135900.0
- localtime() 函数类似gmtime(),作用是格式化时间戳为本地的时间。 如果sec参数未输入,则以当前时间为转换标准。 DST (Daylight Savings Time) flag (-1, 0 or 1) 是否是夏令时。
time.localtime([ sec ])
t = time.mktime(time.strptime(oridate,"%B %d, %Y %I:%M %p"))
print(time.localtime(t))
# time.struct_time(tm_year=2019, tm_mon=1, tm_mday=22, tm_hour=13, tm_min=45, tm_sec=0, tm_wday=1, tm_yday=22, tm_isdst=0)
- strftime() 函数接收以时间元组,并返回以可读字符串表示的当地时间,格式由参数format决定。
time.strftime(format[, t])
print(time.strftime("%Y-%m-%d %H:%M", time.localtime(t)))
# 2019-01-22 13:45
example
date = "January 22, 2019 1:45 pm"
date = time.mktime(time.strptime(date, "%B %d, %Y %I:%M %p"))
date = time.strftime("%Y-%m-%d %H:%M", time.localtime(date))
print(date)
# 2019-01-22 13:45