Python datetime模块

By | 2017年9月1日

Python有关时间的模块有timedatetime两个,time侧重于显示时间,而datetime侧重于对时间和日期的处理,例如计算日期时间差,距今天100天后的日期,今年第100天的日期等等。

模块的主要类及类间的关系

  • timedelta
  • tzinfo
  • time
  • date
    • datetime

timedelta


timedelta对象表示时间段,即两个日期或时间的差。

  • 定义
class datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])

使用时给关键字参数赋值就可以表示不同的时间段。

  • 实例属性(只读)
属性
days Between -999999999 and 999999999 inclusive
senconds Between 0 and 86399 inclusive
microseconds Between 0 and 999999 inclusive

Tip:虽然初始化时有很多参数可选,但实际都换算成了这三个属性。

date


date对象表示理想化日历中的日期(年、月、日)。

  • 定义
class datetime.date(year, month, day)

所有的参数都是必须的。参数可以是整数或者长整数,范围如下:

  • MINYEAR <= year <= MAXYEAR
  • 1 <= month <= 12
  • 1 <= day <= number of days in the given month and year

其他构造方法,都是类方法:

  • date.today():返回当前本地日期
  • date.fromtimestamp(timestamp):从时间戳计算日期
  • date.fromordinal(ordinal):返回对应于公历序数的日期,其中第一年的一月一号为序数1,且返回的年份总是0001

实例属性(只读)

  • date.year
  • date.month
  • date.day

Tip:date对象支持和timedelta对象相加减,两个date对象加减得timedelta对象,date对象和timedelta对象加减得date对象。

time


time对象表示一天,初始化和使用方法和date类似,但不支持和timedelta对象相加减。

datetime


datetime 对象包含 date 对象和 time 对象的所有信息。同 date 对象一样,datetime 假设当前的公历可以在两个方向扩展;同 time 对象一样,datetime 假设每天有精确的 3600*24 秒。
datetime用法和date类似,也支持和timedelta对象的相加减。

官方库参考手册

http://python.usyiyi.cn/translate/python_278/library/datetime.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注