返回顶部
首页 > 资讯 > 后端开发 > 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://lsjlt.com/news/125930.html(转载时请注明来源链接)

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

猜你喜欢
  • Python+Delorean实现时间格式智能转换
    目录1.介绍2.准备3.Delorean基础使用4.Delorean高级使用1.介绍 DeLorean是一个Python的第三方模块,基于 pytz 和 dateutil 开发,用于...
    99+
    2024-04-02
  • php时间格式转换成时间戳如何实现
    这篇文章主要介绍“php时间格式转换成时间戳如何实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php时间格式转换成时间戳如何实现”文章能帮助大家解决问题。一、什么是时间格式和时间戳在PHP中,时...
    99+
    2023-07-05
  • hadoop时间格式转换
    在Hadoop中,时间格式转换可以使用Java的SimpleDateFormat类来实现。下面是一个示例代码,将一个时间字符串从"y...
    99+
    2023-10-11
    hadoop
  • Springboot+AOP实现时间参数格式转换
    目录前言场景效果实战自定义注解一 自定义注解二 拦截器工具类使用 接口调用前言 场景 前端传过来的时间参数,我们后端自定义时间格式转化使用,想转成什么就...
    99+
    2024-04-02
  • 九、python-时间数据格式转换
    1、获取数据格式 print(type(字符串)) 2、时间格式 关于数据格式转换,最常用的就是时间格式的转换 如果时间数据是以字符串格式存入,那就无法进行时间运算,需要把字符串格式的时间数据转换成真正的时间格式数据。下面是常见的时间格式处...
    99+
    2023-09-14
    python pandas 数据分析
  • Java——时间戳和时间格式转换
    时间戳(TimeStamp):通常是一个字符序列,唯一地标志某一刻的时间。Java 中时间戳是指格林威治时间1970年01月01日00时00分00秒起至现在的总毫秒数。 一、获取时间戳的方式 1.System.currentTimeM...
    99+
    2023-08-17
    java
  • php时间戳如何转换时间格式
    这篇文章主要介绍“php时间戳如何转换时间格式”,在日常操作中,相信很多人在php时间戳如何转换时间格式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php时间戳如何转换时间格式”的疑惑有所帮助!接下来,请跟...
    99+
    2023-07-05
  • Springboot+AOP怎么实现时间参数格式转换
    本文小编为大家详细介绍“Springboot+AOP怎么实现时间参数格式转换”,内容详细,步骤清晰,细节处理妥当,希望这篇“Springboot+AOP怎么实现时间参数格式转换”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习...
    99+
    2023-06-30
  • jquery时间格式转换函数
    在网页设计与开发中,时间通常是不可避免的问题。但是我们在不同的场景下可能需要不同格式的时间。比如一个数据库中有一个时间字段,它的保存格式是2019-07-25 15:30:22,而在前端页面展示时,很有可能要将其格式化为“2019年7月25...
    99+
    2023-05-25
  • sqlserver时间格式如何转换
    在SQL Server中,可以使用CONVERT函数来将时间从一种格式转换为另一种格式。以下是一些常用的时间格式转换示例: 将日期...
    99+
    2024-05-08
    sqlserver
  • oracle时间格式怎么转换
    oracle时间格式转换 转换时间格式 Oracle提供多种函数来格式化或转换时间值,包括: TO_DATE (str, format_mask): 将字符串转换为日期/时间值 T...
    99+
    2024-05-21
    oracle
  • C#时间格式如何转换为时间戳
    这篇文章给大家分享的是有关C#时间格式如何转换为时间戳的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。时间戳转换:/// <summary>/// C#时间格式转换为时间戳(互转)/...
    99+
    2023-06-06
  • php如何将时间格式转换时间戳
    小编给大家分享一下php如何将时间格式转换时间戳,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!php时间格式转换时间戳的方法:1、使用strtotime()函数,可以将英文文本字符串表示的日期转换为时间戳;2、使用mkti...
    99+
    2023-06-14
  • python 时间戳与格式化时间的转化实现代码
    python 里面与时间有关的模块主要是 time 和 datetime 如果想获取系统当前时间戳:time.time() ,是一个float型的数据 获取系统当前的时间信息 : time.ctime() ...
    99+
    2022-06-04
    时间 代码 python
  • Python实现图片格式转换
    本文实例为大家分享了Python实现图片格式转换的具体代码,供大家参考,具体内容如下 碰上这样一个情景: 我从网络上下载了一张表情包图片,存放在 MyImages 文件夹下,文件类型...
    99+
    2024-04-02
  • 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+
    2024-04-02
  • python常用时间库time、datetime与时间格式之间如何转换
    这篇“python常用时间库time、datetime与时间格式之间如何转换”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“p...
    99+
    2023-07-05
  • php怎么将时间戳转换为时间格式
    时间戳是一种表示时间的方法,它是从1970年1月1日00:00:00开始计算的秒数。在很多应用程序中,我们需要将时间戳转换为人类可读的时间格式,以便更清晰地理解时间。 在PHP中,有几种简单的方法可以将时间戳转换为时间。在本文中,我们将探讨...
    99+
    2023-05-14
  • MySQL 中时间戳及时间戳的格式转换
    MySQL 中时间戳及时间戳的格式转换 一、什么是时间戳二、时间戳转换时间三、时间转换为时间戳 一、什么是时间戳 时间戳是指格林威治时间自1970年1月1日(00:00:00 GMT)至当前时间的总秒数。通俗的讲,时间戳...
    99+
    2023-08-16
    mysql 数据库 sql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作