时间戳与格式化时间互转
import time
# 时间戳转换为 格式化的时间
timestamp = 1462451334
# 注意是返回的是一个结构化的struct_time对象或 时间元组。
time_local = time.localtime(1462451334)
>>struct_time(tm_year=2016, tm_mon=5, tm_mday=5, tm_hour=20, tm_min=28, tm_sec=54, tm_wday=3, tm_yday=126, tm_isdst=0)
dt = time.strftime("%Y-%m-%d %H:%M:%S",time_local)
# 格式化的时间使用mktime函数转 时间戳
timeArray = time.strptime(dt, "%Y-%m-%d %H:%M:%S")
timestamp = time.mktime(timeArray)
datetime库
time库提供的功能更接近于操作系统层面,time模块主要是围绕Unix TimeStamp展开。该模块主要包括一个类struct_time。
datetime比time高级,可以认为datetime是基于time的二次封装,datetime提供了几个类支持更丰富的功能:
timedelta # 计算时间跨度
tzinfo # 时区相关
time #只关注时间
date #只关注日期
datetime # 关注时间与日期
用的比较多的是 datetime.datetime 和 datetime.timedelta。
datetime.datetime
import datetime
# 返回 datetime.datetime 实例
dt = datetime.datetime.now()
#有以下属性、方法
dt.year、dt.month、dt.hour、dt.minute
dt.strftime(format) # 格式化输出时间
dt.timetuple() # 返回 time.struct_time 对象
dt.time() # 返回 time 对象
实例化datetime对象
datetime.datetime.today() # 当前时间,localtime
datetime.datetime.now([tz]) # 当前时间默认 localtime
datetime.datetime.utcnow() # UTC 时间
datetime.datetime.fromtimestamp(timestamp[, tz]) # 由 Unix Timestamp 构建对象
datetime.datetime.strptime(date_string, format) # 给定时间格式解析字符串
datetime.timedelta
time_now = datetime.datetime.now()
delta1 = datetime.timedelta(hours=25) # 可以和 datetime对象进行操作
dt2 = time_now+delta1
# 两个datetime 对象相减得到 timedelta 对象
#timedelta 的方法和属性
timedelta.days # 天数
timedelta.seconds # 多余的秒数
timedelta.total_seconds() # 总的秒数 = 天数*3600*24 + timedelta.seconds