01 Python处理日期和时间的基础教程
目录
01解析日期字符串.py 02格式化日期.py 03日期的加减.py 04日期的替换.py 05获取当前时间.py 06日期格式化字符串.py 07常用的属性.py 08日期加减.py 09获取日期对象的方式.py 10人性化时间.py 11获取日期和时间.py 12替换指定时间.py 13解析人性化时间.py 14小时处理.py 15获取指定日期之间的每个小时.py 16获取时间戳.py
解析日期字符串
示例代码:
#01解析日期字符串 fromztimeimportdateutil date_string='2022-01-01' date=dateutil.parser.parse(date_string) print('ParsedDate:',date) date_string='2022-01-0112:13:14' date=dateutil.parser.parse(date_string) print('ParsedDate:',date) date_string='2022-01-02T12:13:14' date=dateutil.parser.parse(date_string) print('ParsedDate:',date)
输出结果:
ParsedDate:2022-01-0100:00:00 ParsedDate:2022-01-0112:13:14 ParsedDate:2022-01-0212:13:14
格式化日期
示例代码:
#02格式化日期 fromztimeimportdateutil date_string='2022-01-0111:12:13' date=dateutil.parser.parse(date_string) print('ParsedDate:',date) formatted_date=date.strftime('%Y-%m-%d%H:%M:%S') print('FormattedDate:',formatted_date)
输出结果:
ParsedDate:2022-01-0111:12:13 FormattedDate:2022-01-0111:12:13
日期的加减
示例代码:
#03日期的加减 importdatetime fromztimeimportdateutil date_string='2022-01-0111:12:13' date=dateutil.parser.parse(date_string) print('ParsedDate:',date) #加上10天 new_date=date+datetime.timedelta(days=10) formatted_date=new_date.strftime('%Y-%m-%d%H:%M:%S') print('FormattedDate:',formatted_date) #减去10天 new_date=date+datetime.timedelta(days=-10) formatted_date=new_date.strftime('%Y-%m-%d%H:%M:%S') print('FormattedDate:',formatted_date)
输出结果:
ParsedDate:2022-01-0111:12:13 FormattedDate:2022-01-1111:12:13 FormattedDate:2021-12-2211:12:13
日期的替换
示例代码:
#04日期的替换 fromztimeimportdateutil date_string='2022-01-0111:12:13' date=dateutil.parser.parse(date_string) print('ParsedDate:',date) #替换年份为2023 #其他参数:year,month,day,hour,minute,second,microsecond,tzinfo new_date=date.replace(year=2023) formatted_date=new_date.strftime('%Y-%m-%d%H:%M:%S') print('FormattedDate:',formatted_date) new_date=date.replace(hour=23) formatted_date=new_date.strftime('%Y-%m-%d%H:%M:%S') print('FormattedDate:',formatted_date)
输出结果:
ParsedDate:2022-01-0111:12:13 FormattedDate:2023-01-0111:12:13 FormattedDate:2022-01-0123:12:13
获取当前时间
示例代码:
#01获取当前时间 importztime #获取本地时区的当前时间 print(ztime.now()) #获取UTC时间,然后转为本地时区的时间 utc=ztime.utcnow() utc=utc.to("local") print(utc)
输出结果:
2024-02-15T18:48:42.096882+08:00
日期格式化字符串
示例代码:
#03日期格式化字符串 importztime utc=ztime.utcnow() utc=utc.to("local") print(utc) print(utc.format()) print(utc.format("YYYY-MM-DDHH:mm:ss"))
输出结果:
2024-02-15T18:48:50.218306+08:00 2024-02-1518:48:50
常用的属性
示例代码:
#07常用的属性 importztime t=ztime.utcnow() print(t.naive) print(t.tzinfo) print(t.year) print(t.month) print(t.day) print(t.hour)
输出结果:
2024-02-1510:49:02.023246 tzutc() 2024 2 15 10
日期加减
示例代码:
#05日期加减 importztime utc=ztime.utcnow() utc=utc.to("local") utc=utc.shift(hours=-1) print(utc.humanize(locale="zh-cn")) utc=utc.shift(days=-1) print(utc.humanize(locale="zh-cn")) utc=utc.shift(months=-1) print(utc.humanize(locale="zh-cn")) utc=utc.shift(years=-1) print(utc.humanize(locale="zh-cn")) utc=utc.shift(years=2) print(utc.humanize(locale="zh-cn"))
输出结果:
1小时前 1天前 1个月前 1年前 11个月后
获取日期对象的方式
示例代码:
#06获取日期对象的方式 fromdatetimeimportdatetime importztime t=ztime.get(1367900664) t=ztime.get(1367900664.152325) t=ztime.get(datetime.utcnow()) t=ztime.get(datetime(2013,5,5),"local") t=ztime.get('2013-05-0512:30:45','YYYY-MM-DDHH:mm:ss') t=ztime.get(2013,5,5) print(t)
输出结果:
2013-05-05T00:00:00+00:00
人性化时间
示例代码:
#04人性化时间 importztime utc=ztime.utcnow() utc=utc.to("local") print(utc) print(utc.humanize()) print(utc.humanize(locale="zh-cn"))
输出结果:
2024-02-15T18:49:35.488135+08:00 刚才 刚才
获取日期和时间
示例代码:
#08获取日期和时间 importztime t=ztime.utcnow() print(t.date())#获取日期 print(t.time())#获取时间
输出结果:
2024-02-15 10:49:52.020618
替换指定时间
示例代码:
#09替换指定时间 importztime t=ztime.utcnow() print(t.replace(hour=4,minute=40))#替换指定时间
输出结果:
2024-02-15T04:40:02.819664+00:00
解析人性化时间
示例代码:
#10解析人性化时间 importztime t=ztime.utcnow() print(t.dehumanize("2daysago"))#解析人性化时间 print(t.dehumanize("2天前",locale="zh-cn"))#解析人性化时间
输出结果:
2024-02-13T10:50:12.944692+00:00 2024-02-13T10:50:12.944692+00:00
小时处理
示例代码:
#11小时处理 importztime t=ztime.utcnow() print(t.span('hour'))#获取到小时 print(t.floor('hour'))#移除小时后的时间 print(t.ceil('hour'))#最大化小时后的时间
输出结果:
(<Arrow[2024-02-15T10:00:00+00:00]>,<Arrow[2024-02-15T10:59:59.999999+00:00]>) 2024-02-15T10:00:00+00:00 2024-02-15T10:59:59.999999+00:00
获取指定日期之间的每个小时
示例代码:
#12获取指定日期之间的每个小时 importztime fromdatetimeimportdatetime start=datetime(2013,5,5,12,30) end=datetime(2013,5,5,17,15) forrinztime.ZTime.span_range('hour',start,end): print(r)
输出结果:
(<Arrow[2013-05-05T12:00:00+00:00]>,<Arrow[2013-05-05T12:59:59.999999+00:00]>) (<Arrow[2013-05-05T13:00:00+00:00]>,<Arrow[2013-05-05T13:59:59.999999+00:00]>) (<Arrow[2013-05-05T14:00:00+00:00]>,<Arrow[2013-05-05T14:59:59.999999+00:00]>) (<Arrow[2013-05-05T15:00:00+00:00]>,<Arrow[2013-05-05T15:59:59.999999+00:00]>) (<Arrow[2013-05-05T16:00:00+00:00]>,<Arrow[2013-05-05T16:59:59.999999+00:00]>) (<Arrow[2013-05-05T17:00:00+00:00]>,<Arrow[2013-05-05T17:59:59.999999+00:00]>)
获取时间戳
示例代码:
#02获取时间戳 importztime utc=ztime.utcnow() utc=utc.to("local") print(utc) print(utc.timestamp())
输出结果:
2024-02-15T18:50:47.550633+08:00 1707994247.550633
以上就是“Python处理日期和时间的基础教程”的全部内容,希望对你有所帮助。
关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
三、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、Python练习题
检查学习结果。
六、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
最后祝大家天天进步!!
上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。