Python:datetime模块总结

1. 介绍

datetime库中定义的几个类:

类名称描述常用属性
datetime.date表示日期year, month, day
datetime.time表示时间hour, minute, second, microsecond
datetime.datetime表示日期和时间year, month, day, hour, minute, microsecond
datetime.timedelta表示两个日期时间之间的差days, hours, seconds
datetime.tzinfo描述时区信息对象的抽象基类上网查找
datetime.timezone时区,表示与UTC的固定偏移量datetime.timedelta对象

具体详细方法和总结,参考这篇文章《datetime 时间和日期模块》 

2.格式化输出字符串

可以按照需要格式化输出字符串:datetime.datetime.strftime("format")

代码例子:

import datetime
t = datetime.datetime.now()
print(t.strftime("%Y%m%d"),type(t.strftime("%Y%m%d")))
print(t.strftime("%Y-%m_%d:%H-%M:%S"))

# 输出
# 20220909 <class 'str'>
# 2022-09_09:10-41:33
指令意义示例
%a当地工作日的缩写Sun, Mon, …, Sat
%A当地工作日的全名Sunday, Monday, …, Saturday
%w以十进制数显示的工作日,其中0表示星期日,6表示星期六0, 1, …, 6
%d补零后,以十进制数显示的月份中的一天01, 02, …, 31
%b当地月份的缩写an, Feb, …, Dec
%B当地月份的全名January, February, …, December
%m补零后,以十进制数显示的月份01, 02, …, 12
%y补零后,以十进制数表示的,不带世纪的年份00, 01, …, 99
%Y十进制数表示的带世纪的年份0001, 0002, …, 2013, 2014, …, 9998, 9999
%HHour (24-hour clock)00, 01, …, 23
%IHour (12-hour clock)01, 02, …, 12
%M补零后,以十进制数显示的分钟00, 01, …, 59
%S补零后,以十进制数显示的秒00, 01, …, 59
%UWeek number of the year (Sunday as the first day of the week)00, 01, …, 53
%WWeek number of the year (Monday as the first day of the week)00, 01, …, 53
%c本地化的适当日期和时间表示Tue Aug 16 21:30:00 1988
%x本地化的适当日期表示08/16/1988
%X本地化的适当时间表示0.895833333
%%字面的 ‘%’ 字符字面的 ‘%’ 字符

 3. 常用代码

 1)计算时间差:

import datetime
# 2022-04-24 10:51:23.677632
start_time = datetime.datetime(2022, 4, 24, 10, 51, 23, 677632)
# 2022-04-25 11:52:35.713161
end_time = datetime.datetime(2022, 4, 24, 10, 51, 24, 687638)
delta = end_time-start_time
# 获取timedelta对象经过单位换算后的总秒数
print("seconds: ", delta.seconds)
# 获取timedelta对象经过单位换算后的总微秒数
print("microseconds: ", delta.microseconds)
# 获取timedelta对象包含的总秒数
print("total_seconds: ", delta.total_seconds())
# 四舍五入,保留2位小数
print("total_seconds: ", round(delta.total_seconds(),2))

# 输出
# seconds:  1
# seconds:  10006
# total_seconds:  1.010006
# total_seconds:  1.01

测试计时例子:

import datetime
import time
start_time = datetime.datetime.now()
print("start_time:",start_time)
# 强制等待10秒时间,import time
time.sleep(10) 
end_time = datetime.datetime.now()
print("end_time:",end_time)
delta = end_time-start_time
# 获取timedelta对象经过单位换算后的总秒数
print("seconds: ", delta.seconds)
# 获取timedelta对象经过单位换算后的总微秒数
print("microseconds: ", delta.microseconds)
# 获取timedelta对象包含的总秒数
print("total_seconds: ", delta.total_seconds())
# 四舍五入,保留2位小数
print("total_seconds: ", round(delta.total_seconds(),2))

# 输出
start_time: 2022-09-09 10:54:49.917227
end_time: 2022-09-09 10:54:59.917423
seconds:  10
microseconds:  196
total_seconds:  10.000196
total_seconds:  10.0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值