datetime库提供了以下几个类:
类
|
描述
|
datetime.date() |
日期,年月日组成 |
datetime.datetime() |
包括日期和时间 |
datetime.time() |
时间,时分秒及微秒组成 |
datetime.timedelta() |
时间间隔 |
datetime.tzinfo() |
|
datetime.date()类:
方法
|
描述
|
描述
|
date.max |
对象所能表示的最大日期 |
datetime.date(9999, 12, 31) |
date.min |
对象所能表示的最小日期 |
datetime.date(1, 1, 1) |
date.strftime() |
根据datetime自定义时间格式 |
>>> date.strftime(datetime.now(), '%Y-%m-%d %H:%M:%S')
'2016-11-12 07:24:15
|
date.today() |
返回当前系统日期 |
>>> date.today()
datetime.date(2016, 11, 12)
|
date.isoformat() |
返回ISO 8601格式时间(YYYY-MM-DD) |
>>> date.isoformat(date.today())
'2016-11-12'
|
date.fromtimestamp() |
根据时间戳返回日期 |
>>> date.fromtimestamp(time.time())
datetime.date(2016, 11, 12)
|
date.weekday() |
根据日期返回星期几,周一是0,以此类推 |
>>> date.weekday(date.today())
5
|
date.isoweekday() |
根据日期返回星期几,周一是1,以此类推 |
>>> date.isoweekday(date.today())
6
|
date.isocalendar() |
根据日期返回日历(年,第几周,星期几) |
>>> date.isocalendar(date.today())
(2016, 45, 6)
|
datetime.datetime()类:
方法
|
描述
|
示例
|
datetime.now()/datetime.today() |
获取当前系统时间 |
>>> datetime.now()
datetime.datetime(2016, 11, 12, 7, 39, 35, 106385)
|
date.isoformat() |
返回ISO 8601格式时间 |
>>> datetime.isoformat(datetime.now())
'2016-11-12T07:42:14.250440'
|
datetime.date() |
返回时间日期对象,年月日 |
>>> datetime.date(datetime.now())
datetime.date(2016, 11, 12)
|
datetime.time() |
返回时间对象,时分秒 |
>>> datetime.time(datetime.now())
datetime.time(7, 46, 2, 594397)
|
datetime.utcnow() |
UTC时间,比中国时间快8个小时 |
>>> datetime.utcnow()
datetime.datetime(2016, 11, 12, 15, 47, 53, 514210)
|
datetime.time()类:
方法
|
描述
|
示例
|
time.max |
所能表示的最大时间 |
>>> time.max
datetime.time(23, 59, 59, 999999)
|
time.min |
所能表示的最小时间 |
>>> time.min
datetime.time(0, 0)
|
time.resolution |
时间最小单位,1微妙 |
>>> time.resolution
datetime.timedelta(0, 0, 1)
|
datetime.timedelta()类:
# 获取昨天日期
>>> date.today() - timedelta(days=1)
datetime.date(2016, 11, 11)
>>> date.isoformat(date.today() - timedelta(days=1))
'2016-11-11'
# 获取明天日期
>>> date.today() + timedelta(days=1)
datetime.date(2016, 11, 13)
>>> date.isoformat(date.today() + timedelta(days=1))
'2016-11-13'