python中datetime模块详解
一、datetime模块的五大类:
- datetime.date:表示日期的类,主要用于处理年、月、日;
- datetime.time:表示时间的类,主要用于处理时、分、秒;
- datetime.datetime:表示日期时间的类,date类和time类的综合使用,可以处理年、月、日、时、分、秒;
- datetime.timedelta:表示时间间隔,即两个时间点的间隔,主要用于做时间加减的
- datetime.tzinfo:时区的相关信息。
1、date类:
date类包含三个参数,分别为year,month,day,返回格式为year-month-day。
2、time类
(1)静态方法和属性:可以直接通过类名调用;

(2)其它常用方法和属性:通过time对象才能调用
# 先构造一个time对象
t=time(10,58,59)
"属性"
t.hour、t.minute、t.second、t.microsecond:时、分、秒、微秒;
"方法"
t.replace(hour=,minute=,second=,microsecond=):生成一个新的时间对象,用参数指定的时、分、秒、微秒代替原有对象中的属性。(原有对象仍保持不变)
t.isoformat():返回型如"HH:MM:SS"格式的字符串时间表示;
t.strftime(format):传入任意格式符,可以输出任意格式的时间表示形式;
3、datetime类的用法
#获取当前的日期,年月份
c=datetime.now().date()
print(c)
#获取每个时间的序列
d=datetime.now().timetuple()
print(d)
#获取月份(tm_year, tm_mon, tm_mday, tm_hour, tm_min, tm_sec, tm_wday, tm_yday, tm_isdst)
e=datetime.now().timetuple().tm_mon
print(e)
# 在我们现在的日期里面加入2天,最后打印出来,这里要注意,模块的使用,有优先级的混淆
f=datetime.now().date()+timedelta(days=2)
print(f)
# 在现在的时间里面向后推迟2个小时
g=datetime.now()+timedelta(hours=2)
print(g)
# 求出上一个月的最后一天日期,就用这个月的第一天减1天,这个里面的参数可以改动,默认为月份初始化天
f=date(day=1,month=date.today().month,year=date.today().year) - timedelta(days=1)
print(f)
# 获取世界时间
g=datetime.utcnow()
print(g)
h=datetime.now()
print(h)
#时差计算
i=h-g
print(i)
j=datetime.now().strftime("%Y-%m-%d %H:%M:%S")#时间类型转为字符串类型
k=datetime.now()#时间类型
print(type(j))#显示类型
print(type(k))
print(j,end=";")
print(k)
# 字符串转为时间类型
l=datetime.strptime("2020-08-18 16:58:46","%Y-%m-%d %H:%M:%S")
print(l)
# 返回这个日期是多少年,第几周,第几天
m=datetime.now().isocalendar()
print(m)
input_date_str=input('请输入一个日期: ')
# 把输入的时间转换为时间类型
input_date=datetime.strptime(input_date_str,'%Y-%m-%d')
# 利用date.strftime("%j") 计算这个是第几天
days=int(input_date.strftime("%j"))
print(input_date_str+'是一年中的第 '+str(days)+' 天')
print(datetime.now().timestamp()) # 时间戳的计算是从1900年1月1日0点开始的, 显示的数值单位为秒
print(datetime.fromtimestamp(1564229940.623349)) #时间戳转化为日期时间
并非原创,从其他博客中复制的,方便后期查询。
来源:吴大喜