1 datetime
datetime
模块定义了几个类:
datetime.date
:表示日期的类, 常用的属性有year, month, day
datetime.time
:表示时间的类, 常用的属性有hour, minute, second, microsecond
datetime.datetime
:表示日期时间datetime.timedelta
:表示时间间隔, 即两个时间点之间的长度datetime.tzinfo
:与时区有关的相关信息
1.1 date 类
date
类表示一个日期。日期由年、月、日组成。构造函数为 class datetime.date(year, month, day)
year
: 范围 [MINYEAR, MAXYEAR], 即 [1, 9999]month
: 范围 [1, 12]day
: 最大值由 year, month 参数来确定, 如闰年2月份有29天
常用方法和属性 :
date.year、date.month、date.day
: 年、月、日date.max、date.min
:date 对象所能表示的最大、最小日期date.resolution
:date 对象表示日期的最小单位, 这里是天date.today()
:返回一个表示当前本地日期的 date 对象date.replace(year, month, day)
: 生成一个新的日期对象, 用参数指定的年, 月, 日代替原有对象中的属性.(原有对象仍保持不变)date.timetuple()
: 返回日期对应的 time.struct_time 对象date.weekday()
: 返回 weekday, 如果是星期一, 返回0如果是星期2, 返回1, 以此类推data.isoweekday()
: 返回 weekday, 如果是星期一, 返回1如果是星期2, 返回2, 以此类推date.isocalendar()
: 返回格式如(year, month, day)的元组date.isoformat()
: 返回格式如’YYYY-MM-DD’的字符串date.strftime(fmt)
: 自定义格式化字符串.在下面详细讲解.date.fromtimestamp(timestamp)
:根据给定的时间戮, 返回一个 date 对象date.toordinal()
: 返回日期对应的 Gregorian Calendar 日期datetime.fromordinal(ordinal)
:将 Gregorian 日历时间转换为date对象(Gregoria Calendar:一种日历表示方法)
date
类还对某些操作进行了重载,它允许对日期加减和比较操作:
date2 = date1 + timedelta
: 日期加上一个间隔,返回一个新的日期对象date2 = date1 - timedelta
: 日期隔去间隔,返回一个新的日期对象timedelta = date1 - date2
: 两个日期相减,返回一个时间间隔对象date1 < date2
: 两个日期进行比较
1 | from datetime import * |
1.2 Time类
time
类表示时间,由时、分、秒以及微秒组成。构造函数为 class datetime.time(hour[, minute[, second[, microsecond[, tzinfo]]]])
, tzinfo 表示时区信息
hour
: 范围 [0, 24)minute
: 范围 [0, 60)second
: 范围 [0, 60)microsecond
: 范围 [0, 1000000)
常用方法和属性 :
time.min、time.max
: time 类所能表示的最小、最大时间, 即 [time(0, 0, 0, 0), time(23, 59, 59, 999999)]time.resolution
: 时间的最小单位, 这里是1微秒time.hour、time.minute、time.second、time.microsecond
: 时、分、秒、微秒time.tzinfo
: 时区信息time.replace([hour[, minute[, second[, microsecond[, tzinfo]]]]])
: 创建一个新的时间对象, 用参数指定的时、分、秒、微秒代替原有对象中的属性(原有对象仍保持不变)time.isoformat()
: 返回型如”HH:MM:SS”格式的字符串表示time.strftime(fmt)
: 返回自定义格式化字符串
1 | from datetime import * |
1.3 datetime类
datetime
是 date
与 time
的结合体,包括 date
与 time
的所有信息。构造函数为 datetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]])
各参数的含义与 date
,time
一样,要注意参数值的范围
常用方法和属性 :
datetime.min、datetime.max
: datetime 所能表示的最小值与最大值datetime.resolution
: datetime 最小单位datetime.today()
: 返回一个表示当前本地时间的 datetime 对象datetime.now([tz])
: 返回一个表示当前本地时间的 datetime 对象, 如果提供了参数 tz, 则获取 tz 参数所指时区的本地时间datetime.utcnow()
: 返回一个当前 utc 时间的 datetime 对象datetime.fromtimestamp(timestamp[, tz])
: 根据时间戮创建一个 datetime 对象, 参数 tz 指定时区信息datetime.utcfromtimestamp(timestamp)
: 根据时间戮创建一个 datetime 对象datetime.combine(date, time)
: 根据 date 和 time, 创建一个 datetime 对象datetime.strptime(date_string, format)
: 将格式字符串转换为 datetime 对象datetime.year、month、day、hour、minute、second、microsecond、tzinfo
:datetime.date()
:获取date对象datetime.time()
:获取time对象datetime.replace([year[, month[, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]]]]])
datetime.timetuple()
datetime.utctimetuple()
datetime.toordinal()
datetime.weekday()
datetime.isocalendar()
datetime.isoformat([sep])
datetime.ctime()
: 返回一个日期时间的C格式字符串, 等效于time.ctime(time.mktime(dt.timetuple()))datetime.strftime(format)
像 date 一样,也可以对两个 datetime 对象进行比较,或者相减返回一个时间间隔对象,或者日期时间加上一个间隔返回一个新的日期时间对象。
1 | from datetime import * |
1.4 格式字符串
datetime, date, time
都提供了 strftime()
方法,该方法接收一个格式字符串,输出日期时间的字符串表示
1 | %a: 星期的简写。如 星期三为Web |