请稍候,加载中....

datetime.date对象

datetime模块提供了日期与时间的数学运算以及格式化输出的问题

datetime模块提供了datetime两大对象分别处理日期与时间,另外还提供了timedelta用于计算时间差,时区模块用于处理时区,另有datetime对象包含了datetime方法

datetime.date对象

from datetime import date

date对象实例化

1. 传入年月日生成一个date对象

# 根据传入的年月日生成一个日期对象
d = date(2019, 12,1)
# d为一个日期对象

2.生成当天的日期对象

# 生成一个当前的日期对象
d = date.today()
# pring(d)
# datetime.date(2019, 5, 12)

3.通过时间戳生成日期对象

# 根据时间戳生成日期对象
d = date.fromtimestamp(1549001111)
# print(d)
# datetime.date(2019, 2, 1)

*时间戳 - 当前时间距离1970年1月1日0时0分0秒的秒数

4.第ordinal天(距离公元01年01月01日的天数)的日期对象

# 计算一个距离公元01年01月01日天数的日期
d = date.fromordinal(2)
print(d)
# datetime.date(1, 1, 2)

d = date.fromordinal(365)
print(d)
# datetime.date(1, 12, 31)
date属性 说明
date.min 最早日期1年1月1日
date.max 能表示的最大日期9999年12月31日
date.resolution 不相等的日期之间最小可解析差值1天

实例d属性

属性名 含义
d.year
d.month
d.day

实例d的方法

方法名 描述
d.ctime() 返回一个日期字符串:# 'Fri Feb 1 00:00:00 2019'
# 返回一个日期对象的日期字符串
d = date.today()
print(d.ctime())
d.isocalendar()
####################################################################
# d.isocalendar()                                                  #
# 返回一个元组(iso_year, iso_week, iso_weekday): (2019, 5, 5)       #
# iso_week - 1 ~ 53周之间                                           #
# iso_weekday - 1 ~ 7(周日)之间                                     #
# (2019, 5, 5)解读为:2019年的第5周的周五                              #
####################################################################
d = date(2019, 5, 5)
print(d.isocalendar())
d.isoformat()
# 返回一个YYYY-MM-DD格式的日期字符串:'2019-05-05'
d = date(2019, 5, 5)
print(d.isoformat())
# 2019-05-05
d.isoweekday()
# 返回一周的第几天(1~7)
d = date(2019, 5, 5)
print(d.isoweekday())
d.weekday()
# 返回一周的当天序列号,从0(周一)~6(周日)
d = date(2019, 5, 5)
print(d.weekday())
d.replace([year[,month[,day]]])
#  使用新值替换对应的旧值,并返回新的date对象
d = date(2019, 5, 5)
new_date = d.replace(month=6)
print(new_date)
d.strformat(format)
###################################################
# 根据format返回一个日期字符串                        #
# 该方法只能用于1900后的日期                          #
# d.strftime("%Y-%m-%d") # 2019-5-                #
# d.strftime("%Y/%m/%d") # 2019/5/5               #
##################################################
d = date(2019, 5, 5)
print(d.strftime("%Y-%m-%d"))
d.timetuple()
#######################################################################
# 返回一个struct_time对象                                               #
# d.timetuple()                                                       #
# time.struct_time(tm_year=2019, tm_mon=2, tm_mday=1,                 #
# tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=32, tm_isdst=-1)  #
#######################################################################
d = date(2019, 5, 5)
print(d.timetuple())
d.toordinal()
# 返回ordinal数字
d = date(2019, 5, 5)
print(d.toordinal())
   

Python学习手册-