时间戳与格式化时间互转

  1. import time
  2. # 时间戳转换为 格式化的时间
  3. timestamp = 1462451334
  4. # 注意是返回的是一个结构化的struct_time对象或 时间元组。
  5. time_local = time.localtime(1462451334)
  6. >>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)
  7. dt = time.strftime("%Y-%m-%d %H:%M:%S",time_local)
  8. # 格式化的时间使用mktime函数转 时间戳
  9. timeArray = time.strptime(dt, "%Y-%m-%d %H:%M:%S")
  10. timestamp = time.mktime(timeArray)

datetime库

time库提供的功能更接近于操作系统层面,time模块主要是围绕Unix TimeStamp展开。该模块主要包括一个类struct_time。
datetime比time高级,可以认为datetime是基于time的二次封装,datetime提供了几个类支持更丰富的功能:

  1. timedelta # 计算时间跨度
  2. tzinfo # 时区相关
  3. time #只关注时间
  4. date #只关注日期
  5. datetime # 关注时间与日期

用的比较多的是 datetime.datetime 和 datetime.timedelta。

datetime.datetime

  1. import datetime
  2. # 返回 datetime.datetime 实例
  3. dt = datetime.datetime.now()
  4. #有以下属性、方法
  5. dt.yeardt.monthdt.hourdt.minute
  6. dt.strftime(format) # 格式化输出时间
  7. dt.timetuple() # 返回 time.struct_time 对象
  8. dt.time() # 返回 time 对象

实例化datetime对象

  1. datetime.datetime.today() # 当前时间,localtime
  2. datetime.datetime.now([tz]) # 当前时间默认 localtime
  3. datetime.datetime.utcnow() # UTC 时间
  4. datetime.datetime.fromtimestamp(timestamp[, tz]) # 由 Unix Timestamp 构建对象
  5. datetime.datetime.strptime(date_string, format) # 给定时间格式解析字符串

datetime.timedelta

  1. time_now = datetime.datetime.now()
  2. delta1 = datetime.timedelta(hours=25) # 可以和 datetime对象进行操作
  3. dt2 = time_now+delta1
  4. # 两个datetime 对象相减得到 timedelta 对象
  1. #timedelta 的方法和属性
  2. timedelta.days # 天数
  3. timedelta.seconds # 多余的秒数
  4. timedelta.total_seconds() # 总的秒数 = 天数*3600*24 + timedelta.seconds

参考

Python中时间与时间戳之间的转换
Python 标准库中 time 和 datetime 的区别与联系