当前位置: 首页 > 后端技术 > Python

Delorean优秀的Python时间格式转换工具

时间:2023-03-25 20:39:32 Python

DeLorean是Python的第三方模块,基于pytz和dateutil开发,用于处理Python中的日期时间格式转换。由于时间转换是一个非常微妙的问题,DeLorean希望为转换、操作和生成日期时间提供更简洁、更轻松的解决方案。例如,要实例化一个字符串形式的时间对象,Delorean只需要解析指定的字符串,无需声明其格式就可以进行转换。至于Delorean模组名字的由来,Delorean就是电影《回到未来》里那辆极酷的鸥翼车。这部电影中非常有代表性的汽车的名字被用作库名。作者大概想表达的是,使用这个库可以让你不受任何限制地自由穿梭于时空之中。1.在开始之前,您需要确保您的计算机上已经成功安装了Python和pip。(方案一)如果使用Python进行数据分析,可以直接安装Anaconda,Anaconda内置了Python和pip。(方案二)另外,推荐大家使用VSCode编辑器,优点很多。请选择以下方式之一输入命令安装依赖项:Windows环境打开Cmd(开始-运行-CMD)。MacOS环境打开Terminal(command+空格进入Terminal)。如果您使用的是VSCode编辑器或Pycharm,则可以直接使用界面底部的Terminal。pipinstallDelorean2.DeloreanBasic使用轻松获取当前时间:fromdeloreanimportDeloreanand=Delorean()print(d)#Delorean(datetime=datetime.datetime(2021,10,6,9,5,57,611589),timezone='UTC')将日期时间格式时间转换为Delorean:importdatetimefromdeloreanimportDeloreanand=Delorean()print(d)d=Delorean(datetime=datetime.datetime(2018,5,10,8,52,23,560811),timezone='UTC')#这里默认是UTC时间print(d)#Delorean(datetime=datetime.datetime(2021,10,6,9,5,57,611589),timezone='UTC')#Delorean(datetime=datetime.datetime(2018,5,10,8,52,23,560811),timezone='UTC')转换为国内时区:importdatetimefromdeloreanimportDelorean=Delorean(datetime=datetime.datetime(2018,5,10,8,52,23,560811),timezone='UTC')d=d.shift("Asia/Shanghai")print(d)#Delorean(datetime=datetime.datetime(2018,5,10,16,52,23,560811),timezone='Asia/Shanghai')输出为datetime,日期没问题:importdatetimefromdeloreanimportDeloreanand=Delorean(datetime=datetime.datetime(2018,5,10,8,52,23,560811),timezone='UTC')d=d.shift("亚洲/上海")print(d.datetime)print(d.date)#2018-05-1016:52:23.560811+08:00#2018-05-10查看不带时区的时间和时间戳:importdatetimefromdeloreanimportDelorean=Delorean(datetime=datetime.datetime(2018,5,10,8,52,23,560811),timezone='UTC')d=d.shift("Asia/Shanghai")print(d.epoch)print(d.naive)#1525942343.560811#2018-05-1008:52:23.560811使用unix时间戳初始化Delorean:fromdeloreanimportepochd=epoch(1357971038.102223).shift("亚洲/上海")print(d)#Delorean(datetime=datetime.datetime(2013,1,12,14,10,38,102223),timezone='Asia/Shanghai')Delorean支持timedelta时间加减法Delorean可以使用timedelta进行加减得到一个Delorean对象:importdatetimefromdeloreanimportDeloreanand=Delorean(datetime=datetime.datetime(2018,5,10,8,52,23,560811),timezone='UTC')d=d.shift("亚洲/上海")print(d)d2=d+datetime.timedelta(hours=2)print(d2)d3=d-datetime.timedelta(hours=3)print(d3)#Delorean(datetime=datetime.datetime(2018,5,10,16,52,23,560811),timezone='Asia/Shanghai')#Delorean(datetime=datetime.datetime(2018,5,10,18,52,23,560811),timezone='亚洲/上海')#Delorean(datetime=datetime.datetime(2018,5,10,13,52,23,560811),timezone='亚洲/上海')3.Delorean高级使用通常我们不关心有多少微秒或秒,所以Delorean提供了一个非常方便的过滤方式:fromdeloreanimportDelorean=Delorean()print(d)#Delorean(datetime=datetime.datetime(2019,3,14,4,0,50,597357),timezone='UTC')d.truncate('second')#Delorean(datetime=datetime.datetime(2019,3,14,4,0,50),时区='UTC')d.truncate('小时')#Delorean(datetime=datetime.datetime(2019,3,14,4,0),timezone='UTC')d.truncate('month')#Delorean(datetime=datetime.datetime(2019,3,1,0,0),timezone='UTC')d.truncate('year')#Delorean(datetime=datetime.datetime(2019,1,1,0,0),timezone='UTC')另外,datetime格式的字符串转换时需要标示各种格式,在Delorean中,你可以直接解析:fromdeloreanimportparseparse("2011/01/0100:00:00-0700")#Delorean(datetime=datetime.datetime(2011,1,1,0,0),timezone=pytz.FixedOffset(-420))parse("2018-05-06")#Delorean(datetime=datetime.datetime(2018,6,5,0,0),timezone='UTC')我们的文章到此结束今天的Python实用教程,大家可以关注公众号:Python编程学习圈,了解更多编程技术知识!