介绍
介绍
福哥今天给大家系统的讲一讲Python中对日期和时间的处理的技巧,在python中处理日期和时间需要用到time和datetime软件包,这两个软件包是内建的不需要单独安装,可以直接import进来使用。
教程
当前时间
获取当前时间
import time
print ("当前时间: " + time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
时间格式
这里福哥给出time.strftime的格式说明
- %y,两位数的年份
- %Y,四位数的年份
- %m,两位数月份
- %d,月内中的一天
- %H,24小时制小时数
- %I,12小时制小时数(01-12)
- %M,两位数分钟数
- %S,两位数秒
- %a,本地简化星期名称
- %A,本地完整星期名称
- %b,本地简化的月份名称
- %B,本地完整的月份名称
- %c,本地相应的日期表示和时间表示
- %j,三位数年内的一天
- %p,自动判断显示AM或PM
- %U,两位数一年中的星期数,星期天为星期的开始
- %w,一位数星期,星期天为星期的开始
- %W,两位数一年中的星期数,星期一为星期的开始
- %x,本地相应的日期表示
- %X,本地相应的时间表示
- %Z,当前时区的名称
- %%,“%”
时间戳
计算时间戳使用time.mktime实现,福哥给出两个例子
import time
import datetime
print (time.mktime(time.localtime()))
print (time.mktime(datetime.datetime.now().timetuple()))
时间偏移
可以通过datetime.timedelta计算时间的偏移量,通过这个可以实现在当前时间基础上进行“加”或“减”操作,实现时间偏移处理
月份偏移,因为每年十二个月的天数都不尽相同,所以并不支持对于monthes的操作
年份偏移,因为年份会有闰年的情况,所以并不支持对于years的操作
昨天的现在
将时间向前(过去)偏移一天
import datetime
yesterday = datetime.datetime.now() + datetime.timedelta(days=-1)
print ("昨天的现在: " + yesterday.strftime("%Y-%m-%d %H:%M:%S"))
8小时之后
将时间向后(未来)偏移8小时
import datetime
yesterday = datetime.datetime.now() + datetime.timedelta(hours=8)
print ("8小时之后: " + yesterday.strftime("%Y-%m-%d %H:%M:%S"))
时间解析
可以针对一个字符串进行解析并生成time对象,而后就可以使用strftime格式化,或者进行“加”或“减”处理
举几个例子
import time
import datetime
print (time.strptime("2020-10-01 12:59:59", "%Y-%m-%d %H:%M:%S"))
print (time.strptime("2020-10-01", "%Y-%m-%d"))
print (time.strptime("12:59:59", "%H:%M:%S"))
总结
学会日期时间的处理之后,在编程的时候就可以轻松自如地打印时间、修改时间、加工时间了。
https://m.tongfu.net/home/35/blog/512819.html