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'