相比于time模块,datetime模块的接口则更直观,更容易调用。

datetime模块定义了下面这几个类:

  • datetime.date:表示日期的类,常用的属性有year,month,day;
  • datetime.time:表示时间的类,常用的属性有hour,minute,second,microsecond;
  • datetime.datetime:表示日期时间。
  • datetime.timedelta:表示时间间隔,即两个时间点之间的长度。
  • datetime.tzinfo:与时区有关的相关信息。(这里不详细充分讨论该类,感兴趣的童鞋可以参考python手册)

我们需要记住的方法仅以下几个:

      1.d = datetime.datetime.now() 返回当前的datetime日期类型

d.timestamp(),d.today(),d.year(),d.timetuple()等方法可以调用 #d.timetuple()是转换成struc_time,同时,小时、分、秒会丢失,全部为0。

  2.datetime.date.fromtimestamp(2333) 把一个时间戳转为datetime日期类型

       3.时间运算 datetime.timedelta(days=,hours=,minutes=,seconds=)

>>> datetime.datetime.now()
datetime.datetime(2019, 3, 4, 20, 56, 31, 592532)
>>> datetime.datetime.now() + datetime.timedelta(4)  #当前时间 + 4天
datetime.datetime(2019, 3, 8, 21, 1, 40, 774147)
>>> datetime.datetime.now() + datetime.timedelta(hours = 4)  #当前时间 + 4个小时
datetime.datetime(2019, 3, 5, 1, 2, 9, 237469)

       4.时间替换  每个参数都可以被替换

>>> d = datetime.datetime.now()
>>> d
datetime.datetime(2019, 3, 4, 21, 5, 23, 590968)
>>> d.replace(year = 2018)
datetime.datetime(2018, 3, 4, 21, 5, 23, 590968)
>>> d.replace(year = 2018,month=6)
datetime.datetime(2018, 6, 4, 21, 5, 23, 590968)
>>> d
datetime.datetime(2019, 3, 4, 21, 5, 23, 590968)