一、创建时间对象(年、月、日)
代码如下:
import datetime
d1=datetime.datetime(2023,2,1) #构造2023年2月1日
print(d1.year)#2023
print(d1.month)#2
print(d1.day)#1
date=[d1.year,d1.month,d1.day]
print(" ".join(list(map(str,date))))#2023 2 1
print(d1.strftime("%y %m %d"))#23 02 01
print(d1.weekday())#2 实际为周三
1.year、month、day 方法获取时间对象中的年、月、日;
2.print(" ".join(list(map(str,date)))) 拆分理解:
目的:将日期列表中的元素转换为字符串,并使用空格将他们连接起来;
list(map(str,date)):通过map()函数将date列表中每个元素转化为字符串类型;
map()函数将一个函数应用到可迭代对象(这里是date列表)的每个元素上,并返回一个新的可迭代对象;
join() 方法接受一个可迭代对象作为参数,并将它们连接成一个字符串(在这使用空格作为连接符);
3.strftime 方法 :日期转化为可读的字符串
strftime -> ' string from time '
time.strftime(format,t)
第一个参数是格式字符串,第二个是要格式化的时间;
4.
%Y:以四位数格式返回年份。例如,返回“ 2018”;
%y:以两位数格式返回年份,即不包含世纪。例如,用“ 18”代替“ 2018”;
%m:以数字形式返回月份,从01到12;
%d:返回当月的一天,从01到31;
5.weekday() 方法:获取时间对象的星期几
其值从0到6,分别表示从周一到周日(若想获取与周几对应的数字,记得加1);
二、timedelta 模拟时间变化
import datetime
d1=datetime.datetime(2023,2,1) #构造2023年2月1日
d2=d1+datetime.timedelta(days=2)
print(d2.year)#2023
print(d2.month)#2
print(d2.day)#3
日期间隔用days,具体日期用day;
求两个日期相差多少天?
import datetime
d1=datetime.datetime(2023,1,1) #构造2023年1月1日
d2=datetime.datetime(2023,2,1)#构造日期2023年2月1日
d3=d2-d1
print(d3.days)#31