iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python中生成Epoch的方法
  • 330
分享到

Python中生成Epoch的方法

方法PythonEpoch 2022-06-04 18:06:14 330人浏览 安东尼

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

摘要

在python2中datetime对象没有timestamp方法,不能很方便的生成epoch,现有方法没有处理很容易导致错误。关于Epoch可以参见时区与Epoch 0 Python中生成Epoch f

python2中datetime对象没有timestamp方法,不能很方便的生成epoch,现有方法没有处理很容易导致错误。关于Epoch可以参见时区与Epoch

0 Python中生成Epoch


from datetime import datetime
# python3
datetime.now().timestamp()
# Python2
import time
time.mktime(datetime.now().timetuple()) # 为了兼容python2和3,该用法使用更广泛

1 错误代码


from datetime import datetime
import pytz
aware_date = datetime.utcnow().replace(tzinfo=pytz.utc)
time.mktime(aware_date.timetuple()) # bug here

2 原因

Python中的datetime对象分为带时区信息和不带时区信息的两种对象即naive和aware对象。在处理naive时,一切皆默认为系统时区,没有任何问题。

在Python3中执行timestamp时对于naive对象,按照默认时区处理(调用time.mktime),而aware对象,则带上时区计算与UTC基准时间的间隔秒数得到,也就是将时区信息考虑在内。

而Python2和3中的timetuple方法,返回的结果没有包含时区信息,也没有进行时区转换。即调用timetuple对于aware日期对象而言,时区信息被丢弃,因此再调用time.mktime将得到一个错误的结果

3 解决办法

1、方法一:将其他时区的aware日期,转换为当前系统默认的时区的aware对象, 由于与系统时区一致,因此该aware对象与无时区的naive对象执行timetuple的效果一样。

转换时区参见timezone,即调用astimezone方法,参数为转换后的时区(tzinfo实例)

由于Python2中缺失tzinfo(抽象基类)的各个时区实例,需要自己构造时区对象。
时区实例可以参考官方文档的实现datetime或使用推荐的第三方库pytz

2、方法二:计算时间差


 _EPOCH = datetime(1970, 1, 1, tzinfo=pytz.utc) # 第三方库 pytz
  (aware_date - _EPOCH).total_seconds()

以上这篇Python中生成Epoch的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: Python中生成Epoch的方法

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

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

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

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

下载Word文档
猜你喜欢
  • PostgreSQL中epoch的用法
    在PostgreSQL中,epoch是指自1970年1月1日00:00:00 UTC以来的秒数。在查询或操作日期和时间数据时,可以使...
    99+
    2023-09-16
    PostgreSQL
  • Python中生成随机数据的方法
    这篇文章主要讲解了“Python中生成随机数据的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python中生成随机数据的方法”吧!随机性有多随机大多数用 Python 生成的随机数据在...
    99+
    2023-06-30
  • 用Python生成合成数据的方法
    Python是当下最流行的计算机语言之一,尤其是在数据领域。 Python可以使用三个库来生成合成数据 1、Scikit-learn Scikit-learn是用于机器学习任务的最广泛使用的Python库之一,提供了几乎经典算法...
    99+
    2024-01-22
    机器学习
  • python使用生成器的方法
    这篇文章主要介绍了python使用生成器的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python使用生成器的方法文章都会有所收获,下面我们一起来看看吧。尽可能使用生成器单机处理较大数据量时,生成器往往很...
    99+
    2023-06-27
  • python直接生成exe的方法
    一、简介py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序。py2exe已经被用于创建wxPython,Tkin...
    99+
    2023-01-31
    方法 python exe
  • python生成exe文件的方法
    这篇“python生成exe文件的方法”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“python生成exe文件的方法”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来就让...
    99+
    2023-06-06
  • Python中yield返回生成器的详细方法
    目录一、迭代器二、生成器三、yield1.例子一2.例子二总结最简单、直观的认识,将 yield 看做 return 对待,只是 return 返回一个值,而 yield 返回一个生...
    99+
    2024-04-02
  • Python生成扫雷地图的方法
    本文实例为大家分享了Python生成扫雷地图的具体代码,供大家参考,具体内容如下 需求说明 输入:行数m、列数n、地雷数k 输出:随机扫雷地图 第一步,生成地图和随机地雷 第二步,没...
    99+
    2024-04-02
  • Python中yield返回生成器的方法是什么
    这篇文章主要讲解了“Python中yield返回生成器的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python中yield返回生成器的方法是什么”吧!一、迭代器逐项读取列表,称...
    99+
    2023-06-25
  • Python实现生成bmp图像的方法
    之前使用过c、java、go语言实现过生成纯色BMP图片的功能。 现在由python语言完成该功能。 from array import array class bmp: ...
    99+
    2024-04-02
  • python生成requirements.txt文件的推荐方法
    目录一、什么是requirements.txt文件及作用二、怎么生成requirements.txt 文件1、pip freeze方法(不推荐)2、pipreqs第三方库(推荐)补充...
    99+
    2024-04-02
  • python生成图片验证码的方法
    背景 在注册或者登陆场景下,经常会遇到需要输入图片验证码的情况,最经典的就是12306买火车票。图片验证码的破解还是有一定难度的,而且如果配合上时间和次数的验证,可以很大程度上防止模...
    99+
    2024-04-02
  • python生成图表的方法有哪些
    Python生成图表的方法有多种,其中常用的包括:1. Matplotlib:是Python中最常用的绘图库,提供了丰富的绘图功能,...
    99+
    2023-09-15
    python
  • Python生成元组和字典的方法
    目录1.生成元组1.1使用()生成元组1.2使用tuple函数生成元组1.3使用divmod函数生成元组2.生成字典2.1使用{}生成字典2.2使用dict函数生成字典1.生成元组 ...
    99+
    2023-02-27
    Python生成元组 Python生成字典
  • python委派生成器的具体方法
    1、生成器函数包含yield from表达式。 2、在yield from表达式处暂停委派生成器,调用方可直接将数据发送给子生成器。 3、子生成器将输出值发送给调用方。 4、解释器会...
    99+
    2022-11-21
    python 委派生成器
  • Python生成器的用法
    这篇文章主要讲解了“Python生成器的用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python生成器的用法”吧!一、生成器在 Python 中,使用了 yield 的函数被称为生成器...
    99+
    2023-06-02
  • Python中的生成器
    目录1.列表生成式2.生成器1.列表生成式 代码演示: # 列表生成式 list_1 = [x**2 for x in range(10)] # x**2处也可以放函数 pri...
    99+
    2024-04-02
  • python验证码生成的方法是什么
    Python中生成验证码的方法有多种,以下是其中一种常用的方法:1. 使用Python的Pillow库来生成验证码图像,然后将图像保...
    99+
    2023-08-25
    python
  • python生成json文件的方法是什么
    在Python中生成JSON文件的方法是使用`json`模块。下面是一个简单的示例,展示如何使用`json`模块创建一个JSON文件...
    99+
    2023-09-05
    python json
  • python生成器的构建方法有哪些
    本篇内容主要讲解“python生成器的构建方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python生成器的构建方法有哪些”吧!在python中有三种方式来创建生成器:  通过生成器函...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作