时间戳与格式化时间互转
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.minutedt.strftime(format) # 格式化输出时间dt.timetuple() # 返回 time.struct_time 对象dt.time() # 返回 time 对象
实例化datetime对象
datetime.datetime.today() # 当前时间,localtimedatetime.datetime.now([tz]) # 当前时间默认 localtimedatetime.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
