复习回顾:datetime模块
datetime.date
类定义的 date 对象代表日期(年月日如2021.10.30)
class datetime.date(year,month,day)
参数:不可缺省。如果参数不存在,则会抛出ValueError异常
类方法/属性 | 作用 |
---|---|
date.max | date对象表示的最大日期,9999-12-31 |
date.min | date对象表示的最小日期,0001-01-01 |
date.resolution | date对象表示日期的最大单位,天 |
date.today() | 获取当前本地日期 |
date.fromtimestamp(timestamp) | 将时间戳转换成日期 |
date对象方法和属性
对象方法/属性 | 作用 |
---|---|
d.year | 表示年 |
d.month | 表示月 |
d.day | 表示日 |
d.replace(year,[,month,[,day]]) | 生成一个新的日期 |
d.timetuple() | 返回日期对应的结构化对象 |
d.toordinal() | 返回日期距离起始0001-01-01的第N天 |
d.weekday() | 返回日期是星期几,[0,6] 0代表是星期一 |
d.isoweekday | 返回日期是星期几,[1,7] 1代表是星期一 |
d.isocalendar() | (year, weekday, isoweekday)形式的元组 |
d.isoformat() | ‘YYYY-MM-DD'格式的日期字符串 |
d.strftime(format) | 返回指定格式的日期字符串 |
import datetime
dat = datetime.date(2021,10,30)
print("datetime.date.today()类方法",datetime.date.today())
print("date对象year属性:",dat.year)
print("date对象month属性:",dat.month)
print("date对象day属性:",dat.day)
print("date对象replace:",dat.replace(2022))
print("date对象timetuple:",dat.timetuple())
print("date对象weekday:",dat.weekday())
print("date对象isoweekday:",dat.isoweekday())
print("date对象isocalendar:",dat.isocalendar())
print("date对象isoformat:",dat.isoformat())
print("date对象strftime:",dat.strftime("%d-%m-%Y"))
datetime.time
类的对象表示某地某日的时间,独立于任何特定日期,并且可以通过tzinfo
对象来调整。
class datetime.time(hour=0,minute=0,
secOnd=0,mircrosecOnd=0,tzinfo=Noe,*,fold=0 )
参数:所有的参数都是可选的
类方法/属性 | 作用 |
---|---|
time.max | time类表示最大时间,time(23, 59, 59, 999999) |
time.min | time类表示最小时间,time(0, 0, 0, 0) |
time.resolution | 时间的最小单位,1微秒 |
实例方法/属性 | 作用 |
---|---|
t.hour | 表示时 |
t.minute | 表示分 |
t.second | 表示秒 |
t.microsecond | 表示微秒 |
t.tzinfo | 返回传递time构造方法的tzinfo对象 |
t.replace(hour,[,mintue,[,]]) | 生成一个新的时间 |
t.isoformat() | 返回一个‘HH:MM:SS.%f'格式的时间字符串 |
t.strftime() | 返回指定格式的时间字符串 |
datetime.datetime 类是datetime.date的子类,包含时间和日期所有信息的对象
class datetime.datetime(year,month,day,hour=0,minute=0,
secOnd=0,mircrosecOnd=0,tzinfo=Noe,*,fold=0 )
参数:year,month和day 参数是必填项
类方法/属性 | 作用 |
---|---|
datetime.today() | f返回当前本期日期时间的datetime对象 |
datetime.now([tz]) | 返回指定时区日期时间的datetime对象,若不指定tz参数则系统时间 |
datetime.utcnow() | 返回当前utc日期时间的datetime对象 |
datetime.fromtimestamp(timestamp[, tz]) | 根据指定的时间戳创建一个datetime对象 |
datetime.utcfromtimestamp(timestamp) | 根据指定的时间戳创建一个datetime对象 |
datetime.combine(date, time) | 把指定的date和time对象整合成一个datetime对象 |
datetime.strptime(date_str, format) | 将时间字符串转换为datetime对象 |
datetime.datetime 类实例方法和属性
实例方法/属性 | 作用 |
---|---|
dt.year | 表示年 |
dt.month | 表示月 |
dt.day | 表示日 |
dt.hour | 表示时 |
dt.minute | 表示分 |
dt.second | 表示秒 |
dt.microsecond | 表示微秒 |
dt.tzinfo | 表示时区 |
dt.date() | 获取datetime对象对应的date对象 |
dt.time() | 获取datetime对象对应的time对象, tzinfo 为None |
dt.timetz() | 获取datetime对象对应的time对象,tzinfo与datetime对象的tzinfo相同 |
dt.replace([year[, month[, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]]]]]) | 生成一个新datetime对象 |
dt.timetuple() | 返回datetime对象对应的tuple(不包括tzinfo) |
dt.utctimetuple() | 返回datetime对象对应的utc时间的tuple(不包括tzinfo) |
dt.timestamp() | 返回datetime对象对应的时间戳 |
dt.toordinal() | 返回日期是是自 0001-01-01 开始的第多少天 |
dt.weekday() | 返回日期是星期几,[0, 6],0表示星期一 |
dt.isocalendar() | 返回一个元组,格式为:(year, weekday, isoweekday) |
dt.isoformat([sep]) | 返回一个‘%Y-%m-%d%H:%M:%S.%f'格式的字符串 |
dt.ctime() | 等价于time模块的time.ctime(time.mktime(d.timetuple())) |
dt.strftime(format) | 返回指定格式的时间字符串 |
datetime.timedelta 类定义的对象表示两个date或者time的时间间隔
class datetime.timedelta(days=0,secOnds=0,microsecOnds=0,
millisecOnds=0,hours=0,weeks=0 )
参数:所有参数都是可选并且默认为0
换算公式:
seconds 取值范围:[0,86399]
microseconds 取值范围:[0,999999]
days 取值范围:[-999999999,999999999]
类方法/属性 | 作用 |
---|---|
timedelta.min | timedelta(-999999999) |
timedelta.max | timedelta(days=999999999, hours=23, minutes=59, secOnds=59, microsecOnds=999999) |
timedelta.resolution | timedelta(microsecOnds=1) |
datetime.timedelta 类实例方法和属性
实例方法/属性 | 作用 |
---|---|
td.days | 天,[-999999999, 999999999] |
td.seconds | 秒[0, 86399] |
td.microseconds | 微秒 [0, 999999] |
td.total_seconds() | 时间差中包含的总秒数,等价于: td / timedelta(secOnds=1) |
datetime.tzinfo 类是一个抽象基类,该类不会被直接实例化。
tzinfo
的子类用例捕获有关特定时区的信息tzinfo
的实例可以传给datetime
和time对象的构造器中datetime.timezone
类是tzinfo的子类,它的每一个实例代表一个以与UTC的固定时间差来定义的时区。
class datetime.timezone(offset,name=None)
参数:
类方法/属性 | 作用 |
---|---|
timezone.utcoffset(dt) | 返回当 timezone 实例被构造时指定的固定值。 |
timezone.tzname(dt) | 返回timezone实例被构造时指定的固定值 |
timezone.dst(dt) | 总是返回none |
timezone.formutc(dt) | 返回dt+uoffset |
timezone.utc | 返回UTC时区 |
主要对datetime模块中六大类相关的属性和方法进行学习汇总
复习回顾:datetime模块
datetime.date
类定义的 date 对象代表日期(年月日如2021.10.30)
class datetime.date(year,month,day)
参数:不可缺省。如果参数不存在,则会抛出ValueError异常
类方法/属性 | 作用 |
---|---|
date.max | date对象表示的最大日期,9999-12-31 |
date.min | date对象表示的最小日期,0001-01-01 |
date.resolution | date对象表示日期的最大单位,天 |
date.today() | 获取当前本地日期 |
date.fromtimestamp(timestamp) | 将时间戳转换成日期 |
date对象方法和属性
对象方法/属性 | 作用 |
---|---|
d.year | 表示年 |
d.month | 表示月 |
d.day | 表示日 |
d.replace(year,[,month,[,day]]) | 生成一个新的日期 |
d.timetuple() | 返回日期对应的结构化对象 |
d.toordinal() | 返回日期距离起始0001-01-01的第N天 |
d.weekday() | 返回日期是星期几,[0,6] 0代表是星期一 |
d.isoweekday | 返回日期是星期几,[1,7] 1代表是星期一 |
d.isocalendar() | (year, weekday, isoweekday)形式的元组 |
d.isoformat() | ‘YYYY-MM-DD'格式的日期字符串 |
d.strftime(format) | 返回指定格式的日期字符串 |
import datetime
dat = datetime.date(2021,10,30)
print("datetime.date.today()类方法",datetime.date.today())
print("date对象year属性:",dat.year)
print("date对象month属性:",dat.month)
print("date对象day属性:",dat.day)
print("date对象replace:",dat.replace(2022))
print("date对象timetuple:",dat.timetuple())
print("date对象weekday:",dat.weekday())
print("date对象isoweekday:",dat.isoweekday())
print("date对象isocalendar:",dat.isocalendar())
print("date对象isoformat:",dat.isoformat())
print("date对象strftime:",dat.strftime("%d-%m-%Y"))
datetime.time
类的对象表示某地某日的时间,独立于任何特定日期,并且可以通过tzinfo
对象来调整。
class datetime.time(hour=0,minute=0,
secOnd=0,mircrosecOnd=0,tzinfo=Noe,*,fold=0 )
参数:所有的参数都是可选的
类方法/属性 | 作用 |
---|---|
time.max | time类表示最大时间,time(23, 59, 59, 999999) |
time.min | time类表示最小时间,time(0, 0, 0, 0) |
time.resolution | 时间的最小单位,1微秒 |
实例方法/属性 | 作用 |
---|---|
t.hour | 表示时 |
t.minute | 表示分 |
t.second | 表示秒 |
t.microsecond | 表示微秒 |
t.tzinfo | 返回传递time构造方法的tzinfo对象 |
t.replace(hour,[,mintue,[,]]) | 生成一个新的时间 |
t.isoformat() | 返回一个‘HH:MM:SS.%f'格式的时间字符串 |
t.strftime() | 返回指定格式的时间字符串 |
datetime.datetime 类是datetime.date的子类,包含时间和日期所有信息的对象
class datetime.datetime(year,month,day,hour=0,minute=0,
secOnd=0,mircrosecOnd=0,tzinfo=Noe,*,fold=0 )
参数:year,month和day 参数是必填项
类方法/属性 | 作用 |
---|---|
datetime.today() | f返回当前本期日期时间的datetime对象 |
datetime.now([tz]) | 返回指定时区日期时间的datetime对象,若不指定tz参数则系统时间 |
datetime.utcnow() | 返回当前utc日期时间的datetime对象 |
datetime.fromtimestamp(timestamp[, tz]) | 根据指定的时间戳创建一个datetime对象 |
datetime.utcfromtimestamp(timestamp) | 根据指定的时间戳创建一个datetime对象 |
datetime.combine(date, time) | 把指定的date和time对象整合成一个datetime对象 |
datetime.strptime(date_str, format) | 将时间字符串转换为datetime对象 |
datetime.datetime 类实例方法和属性
实例方法/属性 | 作用 |
---|---|
dt.year | 表示年 |
dt.month | 表示月 |
dt.day | 表示日 |
dt.hour | 表示时 |
dt.minute | 表示分 |
dt.second | 表示秒 |
dt.microsecond | 表示微秒 |
dt.tzinfo | 表示时区 |
dt.date() | 获取datetime对象对应的date对象 |
dt.time() | 获取datetime对象对应的time对象, tzinfo 为None |
dt.timetz() | 获取datetime对象对应的time对象,tzinfo与datetime对象的tzinfo相同 |
dt.replace([year[, month[, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]]]]]) | 生成一个新datetime对象 |
dt.timetuple() | 返回datetime对象对应的tuple(不包括tzinfo) |
dt.utctimetuple() | 返回datetime对象对应的utc时间的tuple(不包括tzinfo) |
dt.timestamp() | 返回datetime对象对应的时间戳 |
dt.toordinal() | 返回日期是是自 0001-01-01 开始的第多少天 |
dt.weekday() | 返回日期是星期几,[0, 6],0表示星期一 |
dt.isocalendar() | 返回一个元组,格式为:(year, weekday, isoweekday) |
dt.isoformat([sep]) | 返回一个‘%Y-%m-%d%H:%M:%S.%f'格式的字符串 |
dt.ctime() | 等价于time模块的time.ctime(time.mktime(d.timetuple())) |
dt.strftime(format) | 返回指定格式的时间字符串 |
datetime.timedelta 类定义的对象表示两个date或者time的时间间隔
class datetime.timedelta(days=0,secOnds=0,microsecOnds=0,
millisecOnds=0,hours=0,weeks=0 )
参数:所有参数都是可选并且默认为0
换算公式:
seconds 取值范围:[0,86399]
microseconds 取值范围:[0,999999]
days 取值范围:[-999999999,999999999]
类方法/属性 | 作用 |
---|---|
timedelta.min | timedelta(-999999999) |
timedelta.max | timedelta(days=999999999, hours=23, minutes=59, secOnds=59, microsecOnds=999999) |
timedelta.resolution | timedelta(microsecOnds=1) |
datetime.timedelta 类实例方法和属性
实例方法/属性 | 作用 |
---|---|
td.days | 天,[-999999999, 999999999] |
td.seconds | 秒[0, 86399] |
td.microseconds | 微秒 [0, 999999] |
td.total_seconds() | 时间差中包含的总秒数,等价于: td / timedelta(secOnds=1) |
datetime.tzinfo 类是一个抽象基类,该类不会被直接实例化。
tzinfo
的子类用例捕获有关特定时区的信息tzinfo
的实例可以传给datetime
和time对象的构造器中datetime.timezone
类是tzinfo的子类,它的每一个实例代表一个以与UTC的固定时间差来定义的时区。
class datetime.timezone(offset,name=None)
参数:
类方法/属性 | 作用 |
---|---|
timezone.utcoffset(dt) | 返回当 timezone 实例被构造时指定的固定值。 |
timezone.tzname(dt) | 返回timezone实例被构造时指定的固定值 |
timezone.dst(dt) | 总是返回none |
timezone.formutc(dt) | 返回dt+uoffset |
timezone.utc | 返回UTC时区 |
主要对datetime模块中六大类相关的属性和方法进行学习汇总