广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python+Delorean实现时间格式智能转换
  • 549
分享到

Python+Delorean实现时间格式智能转换

2024-04-02 19:04:59 549人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录1.介绍2.准备3.Delorean基础使用4.Delorean高级使用1.介绍 DeLorean是一个python的第三方模块,基于 pytz 和 dateutil 开发,用于

1.介绍

DeLorean是一个python的第三方模块,基于 pytz 和 dateutil 开发,用于处理Python中日期时间的格式转换。

由于时间转换是一个足够微妙的问题,DeLorean希望为移位、操作和生成日期时间提供一种更干净、更省事的解决方案。比如,实例化字符串形式的时间对象,Delorean只需要 parse 指定字符串,不需要声明其格式就可以进行转换。

至于 Delorean 这个模块名称的由来,Delorean 是电影《回到未来》里的那辆极为炫酷的鸥翼汽车,采用这部电影里的非常具有代表性的汽车的名字作为库名,作者估计也是想表达使用这个库能让你在时空里任意遨游,没有掣肘。

这个模块最让我感到智能的是,它能自动识别字符串的时间格式,转换为 Delorean 对象,而且这个 Delorean 对象和 Datetime 对象是相通的:

from delorean import parse
parse("2011/01/01 00: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')

下面就来介绍一下它的基本使用方法。

2.准备

开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,可以访问这篇文章:超详细Python安装指南 进行安装。

(可选1) 如果你用Python的目的是数据分析,可以直接安装Anaconda

(可选2) 此外,推荐大家用vscode编辑器,它有许多的优点

请选择以下任一种方式输入命令安装依赖

1. windows 环境 打开 Cmd (开始-运行-CMD)。

2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。

3. 如果你用的是 VSCode编辑器 或 PyCharm,可以直接使用界面下方的Terminal.

pip install Delorean

3.Delorean基础使用

轻松获取当前时间:

from delorean import Delorean

d = Delorean()
print(d)
# Delorean(datetime=datetime.datetime(2021, 10, 6, 9, 5, 57, 611589), timezone='UTC')

将datetime格式的时间转化为Delorean:

import datetime
from delorean import Delorean

d = 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')

转换为国内时区:

import datetime
from delorean import Delorean

d = 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、date 也不在话下:

import datetime
from delorean import Delorean

d = Delorean(datetime=datetime.datetime(2018, 5, 10, 8, 52, 23, 560811), timezone='UTC')
d = d.shift("Asia/Shanghai")
print(d.datetime)
print(d.date)
# 2018-05-10 16:52:23.560811+08:00
# 2018-05-10

查看时间戳及UTC时间:

import datetime
from delorean import Delorean

d = 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-10 08:52:23.560811

用unix时间戳初始化Delorean:

from delorean import epoch
d = epoch(1357971038.102223).shift("Asia/Shanghai")
print(d)
# Delorean(datetime=datetime.datetime(2013, 1, 12, 14, 10, 38, 102223), timezone='Asia/Shanghai')

Delorean支持timedelta的时间加减法。Delorean可以使用timedelta进行加减,得到一个Delorean对象:

import datetime
from delorean import Delorean

d = Delorean(datetime=datetime.datetime(2018, 5, 10, 8, 52, 23, 560811), timezone='UTC')
d = d.shift("Asia/Shanghai")
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='Asia/Shanghai')
# Delorean(datetime=datetime.datetime(2018, 5, 10, 13, 52, 23, 560811), timezone='Asia/Shanghai')

4.Delorean高级使用

通常情况下我们不关心有多少微妙或者多少秒,因此Delorean提供了非常方便的过滤方式:

from delorean import Delorean

d = 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), timezone='UTC')
d.truncate('hour')
# 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里,我们不需要那么麻烦,直接parse就可以了:

from delorean import parse
parse("2011/01/01 00: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+Delorean实现时间格式智能转换的详细内容,更多关于Python Delorean时间格式转换的资料请关注编程网其它相关文章!

--结束END--

本文标题: Python+Delorean实现时间格式智能转换

本文链接: https://www.lsjlt.com/news/125930.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python+Delorean实现时间格式智能转换
    目录1.介绍2.准备3.Delorean基础使用4.Delorean高级使用1.介绍 DeLorean是一个Python的第三方模块,基于 pytz 和 dateutil 开发,用于...
    99+
    2022-11-12
  • 九、python-时间数据格式转换
    1、获取数据格式 print(type(字符串)) 2、时间格式 关于数据格式转换,最常用的就是时间格式的转换 如果时间数据是以字符串格式存入,那就无法进行时间运算,需要把字符串格式的时间数据转换成真正的时间格式数据。下面是常见的时间格式处...
    99+
    2023-09-14
    python pandas 数据分析
  • php时间格式转换成时间戳如何实现
    这篇文章主要介绍“php时间格式转换成时间戳如何实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php时间格式转换成时间戳如何实现”文章能帮助大家解决问题。一、什么是时间格式和时间戳在PHP中,时...
    99+
    2023-07-05
  • Springboot+AOP实现时间参数格式转换
    目录前言场景效果实战自定义注解一 自定义注解二 拦截器工具类使用 接口调用前言 场景 前端传过来的时间参数,我们后端自定义时间格式转化使用,想转成什么就...
    99+
    2022-11-13
  • Springboot+AOP怎么实现时间参数格式转换
    本文小编为大家详细介绍“Springboot+AOP怎么实现时间参数格式转换”,内容详细,步骤清晰,细节处理妥当,希望这篇“Springboot+AOP怎么实现时间参数格式转换”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习...
    99+
    2023-06-30
  • Python中三种时间格式转换的方法
    目录一 时间元组二 字符串与时间戳三 时间的加减用法一 时间元组 1. 时间元组和时间戳的互化 import time,datetime # 获取当前时间的时间元组 t = time...
    99+
    2023-05-18
    Python 时间格式转换 Python 时间转换
  • Python转换时间戳为指定格式日期
    目录当前时间实例1:实例2:指定时间戳实例1:实例2:总结 我们将会启用到time库: 当前时间 实例1: import time # 获得当前时间时间戳 now = int(t...
    99+
    2022-11-12
  • python常用时间库time、datetime与时间格式之间如何转换
    这篇“python常用时间库time、datetime与时间格式之间如何转换”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“p...
    99+
    2023-07-05
  • python 时间戳与格式化时间的转化实现代码
    python 里面与时间有关的模块主要是 time 和 datetime 如果想获取系统当前时间戳:time.time() ,是一个float型的数据 获取系统当前的时间信息 : time.ctime() ...
    99+
    2022-06-04
    时间 代码 python
  • Python实现图片格式转换
    本文实例为大家分享了Python实现图片格式转换的具体代码,供大家参考,具体内容如下 碰上这样一个情景: 我从网络上下载了一张表情包图片,存放在 MyImages 文件夹下,文件类型...
    99+
    2022-11-11
  • php 怎么实现时间戳转格式
    本文操作环境:Windows7系统,PHP7.1版,Dell G3电脑。php 怎么实现时间戳转格式?php中时间戳和日期格式的转换一,PHP时间戳函数获取指定日期的unix时间戳 strtotime(”2009-1-22″) 示例如下:e...
    99+
    2016-08-15
    php
  • php如何实现时间戳转格式
    这篇文章主要介绍php如何实现时间戳转格式,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php实现时间戳转格式的方法:1、通过strtotime获取指定日期的unix时间戳;2、使用date函数将指定时间戳转换成系统...
    99+
    2023-06-22
  • Pandas中字符串和时间转换与格式化的实现
    目录把字符串转为时间格式把时间格式化为字符串格式化某一列的时间为字符串遇到的错误使用apply()和lambda函数Pandas 提供了若干个函数来格式化时间。 把字符串转为时间格式...
    99+
    2023-01-17
    Pandas 字符串和时间转换 Pandas 字符串格式化 Pandas 时间格式化
  • Python实现将mp3音频格式转换为wav格式
    最近收到一个朋友委托的需求,要将MP3的音频格式转换成wav的音频格式。于是,使用python写了这个小工具便于批量进行转换操作。 首先,下载需要导入的python模块包。这里选用...
    99+
    2022-11-12
  • php实现ISO8601时间格式(带T和Z)和常规日期时间格式(东八区UTC+8)的相互转换
    ISO8601时间格式转年月日时分秒格式 要将"2023-04-06T01:44:43.000Z"这个字符串转换为年月日时分秒的格式,你可以使用PHP的DateTime类和format方法。以下是示例...
    99+
    2023-08-31
    php 开发语言
  • Python实现图片格式转换小程序
    基于Python实现图片格式转换的小程序,供大家参考,具体内容如下 特点: 1.批量处理图片2.转换常见的4种图片格式 运行窗口 运行窗口-1 选择图片(可批量选择)-2 假设选中...
    99+
    2022-11-11
  • 详解Python中的时间格式的读取与转换(time模块)
    目录一、时间的表示格式二、时间的读取与格式转换1. 使用time.time()方法读取为浮点数格式2. 使用time.localtime()和time.gmtime()方法读取为格式...
    99+
    2023-05-18
    Python时间格式 Python时间格式读取 Python时间格式转换
  • Python实现GB格式序列文件转换Fasta格式文件
    目录GB格式文件和FASTA文件介绍处理步骤Python脚本代码如下:运行情况GB格式文件和FASTA文件介绍 在分子生物学中 我们会有将GB格式序列文件 转换成 Fasta格式文件...
    99+
    2022-11-11
  • Python实现周日历与时间相互转换
    目录前言基本介绍使用datetime类格式化进行转换问题正确方法使用isocalendar将日期转换为周日历使用 fromisocalendar 将周日历转换为日期python代码前...
    99+
    2022-11-11
  • 如何实现python图片格式转换脚本
    这篇文章给大家分享的是有关如何实现python图片格式转换脚本的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.cv2pip install opencv-python之后就可以import cv21.1 导包i...
    99+
    2023-06-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作