datetime
模块提供了日期与时间的数学运算以及格式化输出的问题
datetime
模块提供了date
与time
两大对象分别处理日期与时间,另外还提供了timedelta用于计算时间差,时区模块用于处理时区,另有datetime
对象包含了date
与time
方法
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())
|
|
|
讨论区