datetime库的使用
上一节
下一节
Datetime库的使用
Python时间处理的标准函数库 datetime提供了一批显示日期和时间的格式化方法。
1. datetime模块中包含如下类:
| 类名 | 功能说明 |
|---|---|
| date | 日期对象,常用的属性有year, month, day |
| time | 时间对象 |
| datetime | 日期时间对象,常用的属性有hour, minute, second, microsecond |
| datetime_CAPI | 日期时间对象C语言接口 |
| timedelta | 时间间隔,即两个时间点之间的长度 |
| tzinfo | 时区信息对象 |
2. datetime模块中包含的常量
| 常量 | 功能说明 | 用法 | 返回值 |
|---|---|---|---|
| MAXYEAR | 返回能表示的最大年份 | datetime.MAXYEAR | 9999 |
| MINYEAR | 返回能表示的最小年份 | datetime.MINYEAR | 1 |
datetime类
(一)、datetime类的数据构成
datetime类其实是可以看做是date类和time类的合体,其大部分的方法和属性都继承于这二个类,相关的操作方法请参阅,本文上面关于二个类的介绍。其数据构成也是由这二个类所有的属性所组成的。
datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])
(二)、专属于datetime的方法和属性
1、 date(…):返回datetime对象的日期部分:
>>> a = datetime.datetime.now() >>> a datetime.datetime(2017, 3, 22, 16, 9, 33, 494248) # 表示2017年3月22日16:09, 33秒494248微秒 >>> a.date() datetime.date(2017, 3, 22)
2、time(…):返回datetime对象的时间部分:
>>> a = datetime.datetime.now() >>> a datetime.datetime(2017, 3, 22, 16, 9, 33, 494248) >>> a.time() datetime.time(16, 9, 33, 494248)
3、utctimetuple(…):返回UTC时间元组:
>>> a = datetime.datetime.now() >>> a datetime.datetime(2017, 3, 22, 16, 9, 33, 494248) >>> a.utctimetuple() time.struct_time(tm_year=2017, tm_mon=3, tm_mday=22, tm_hour=16, tm_min=9, tm_sec=33, tm_wday=2, tm_yday=81, tm_isdst=0)
4、combine(…):将一个date对象和一个time对象合并生成一个datetime对象:
>>> a = datetime.datetime.now() >>> a datetime.datetime(2017, 3, 22, 16, 9, 33, 494248) >>>datetime.datetime.combine(a.date(),a.time()) datetime.datetime(2017, 3, 22, 16, 9, 33, 494248)
5、now(…):返回当前日期时间的datetime对象:
>>> a = datetime.datetime.now() >>> a datetime.datetime(2017, 3, 22, 16, 9, 33,
6、utcnow(…):返回当前日期时间的UTC datetime对象:
>>> a = datetime.datetime.utcnow() >>> a datetime.datetime(2017, 3, 22, 8, 26, 54, 935242)
7、strptime(…):根据string, format 2个参数,返回一个对应的datetime对象:
>>> datetime.datetime.strptime('2017-3-22 15:25','%Y-%m-%d %H:%M')
datetime.datetime(2017, 3, 22, 15, 25)8、utcfromtimestamp(…):UTC时间戳的datetime对象,时间戳值为time.time():
>>> datetime.datetime.utcfromtimestamp(time.time()) datetime.datetime(2017, 3, 22, 8, 29, 7, 654272)

