将日期时间转换为 Unix 时间戳并将其转换回 python

本文介绍了将日期时间转换为 Unix 时间戳并将其转换回 python的处理方法,对大家解决问题具有一定的参考价值

问题描述

我有 dt = datetime(2013,9,1,11),我想得到这个 datetime 对象的 Unix 时间戳.

I have dt = datetime(2013,9,1,11), and I would like to get a Unix timestamp of this datetime object.

当我执行 (dt - datetime(1970,1,1)).total_seconds() 时,我得到了时间戳 1378033200.

When I do (dt - datetime(1970,1,1)).total_seconds() I got the timestamp 1378033200.

当使用 datetime.fromtimestamp 将它转换回来时,我得到了 datetime.datetime(2013, 9, 1, 6, 0).

When converting it back using datetime.fromtimestamp I got datetime.datetime(2013, 9, 1, 6, 0).

小时不匹配.我在这里错过了什么?

The hour doesn't match. What did I miss here?

推荐答案

你在这里错过的是时区.

What you missed here is timezones.

大概你有五个小时的 UTC,所以 2013-09-01T11:00:00 本地和 2013-09-01T06:00:00Z 是同一时间.

Presumably you've five hours off UTC, so 2013-09-01T11:00:00 local and 2013-09-01T06:00:00Z are the same time.

您需要阅读 datetime 文档的顶部,其中解释时区以及幼稚"和感知"对象.

You need to read the top of the datetime docs, which explain about timezones and "naive" and "aware" objects.

如果您原来的原始日期时间是 UTC,则恢复它的方法是使用 utcfromtimestamp 而不是 fromtimestamp.

If your original naive datetime was UTC, the way to recover it is to use utcfromtimestamp instead of fromtimestamp.

另一方面,如果您最初的原始日期时间是本地的,您首先不应该从中减去 UTC 时间戳;改用 datetime.fromtimestamp(0).

On the other hand, if your original naive datetime was local, you shouldn't have subtracted a UTC timestamp from it in the first place; use datetime.fromtimestamp(0) instead.

或者,如果您有一个感知日期时间对象,则需要在双方使用本地(感知)纪元,或者显式转换为 UTC 或从 UTC 转换.

Or, if you had an aware datetime object, you need to either use a local (aware) epoch on both sides, or explicitly convert to and from UTC.

如果您拥有或可以升级到 Python 3.3 或更高版本,则只需使用 timestamp 方法,而不是试图自己弄清楚如何去做.即使您不这样做,您也可能需要考虑借用其源代码.

If you have, or can upgrade to, Python 3.3 or later, you can avoid all of these problems by just using the timestamp method instead of trying to figure out how to do it yourself. And even if you don't, you may want to consider borrowing its source code.

(如果你可以等待 Python 3.4,看起来 PEP 341 很可能使其成为最终版本,这意味着 JF Sebastian 和我在评论中讨论的所有内容都应该可以仅使用 stdlib 来实现,并且在 Unix 和 Windows 上的工作方式相同.)

(And if you can wait for Python 3.4, it looks like PEP 341 is likely to make it into the final release, which means all of the stuff J.F. Sebastian and I were talking about in the comments should be doable with just the stdlib, and working the same way on both Unix and Windows.)

这篇关于将日期时间转换为 Unix 时间戳并将其转换回 python的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,WP2

WordPress使用python会话上载文件

我需要上传图像到wordpress编程,理想情况下没有安装额外的插件。不过,我对涉及插件的最佳实践持开放态度。到目前为止,我已经能够使用会话登录和移动站点,但是当我尝试将文件上载到媒体时-新建.php或异步-上传.php我收到以下错误消息The file is a test text file with a single line (also the upload limit on the site is 1GB) so it\"s not the common file size limit. This ...

日期:2021-08-21 05:00:01 浏览:783

压缩序列化的Python数据最节省空间的方法是什么?

本文介绍了压缩序列化的Python数据最节省空间的方法是什么?的处理方法,对大家解决问题具有一定的参考价值 问题描述 发件人the Python documentation:默认情况下,Pickle数据格式使用相对紧凑的二进制表示。如果您需要最佳大小特性,您可以高效地压缩酸洗数据。我将在一个运行了几个小时的过程结束时序列化...

日期:2022-06-23 08:50:34 浏览:750

在Python中,有没有一种方法可以将一个单词分割成等分?

本文介绍了在Python中,有没有一种方法可以将一个单词分割成等分?的处理方法,对大家解决问题具有一定的参考价值 问题描述 几周前我问了这个问题,得到了答案this is the original post但我需要将输出分成相等的部分,无论字符串的长度如何,所以在我发布的第一个帖子中,我得到了这个答案,它很好地工作了,这要...

日期:2022-06-24 06:52:06 浏览:472

如何在 Google AppEngine Python37 中获取凭据

本文介绍了如何在 Google AppEngine Python37 中获取凭据的处理方法,对大家解决问题具有一定的参考价值 问题描述 我在 AppEngine Python3.7 标准中启动了新应用.I started new app in AppEngine Python3.7 stadard.我正在尝试使用以下代码段...

日期:2022-06-24 09:00:27 浏览:548

为什么 python 字符串和元组是不可变的?

本文介绍了为什么 python 字符串和元组是不可变的?的处理方法,对大家解决问题具有一定的参考价值 问题描述 我不确定为什么字符串和元组是不可变的;使它们不可变的优点和缺点是什么?I am not sure why strings and tuples were made to be immutable; what ar...

日期:2022-06-24 09:00:30 浏览:882

使用 Python 解析 Gmail 并将所有早于日期的内容标记为“已读"

本文介绍了使用 Python 解析 Gmail 并将所有早于日期的内容标记为“已读"的处理方法,对大家解决问题具有一定的参考价值 问题描述 长话短说,我创建了一个新的 gmail 帐户,并将其他几个帐户关联到该帐户(每个帐户都有 1000 条消息),我正在导入这些帐户.所有导入的邮件都以未读的形式到达,但我需要它们显示为已...

日期:2022-06-24 10:00:29 浏览:808

了解python线程错误

本文介绍了了解python线程错误的处理方法,对大家解决问题具有一定的参考价值 问题描述 阅读http://bugs.python.org/msg160297,我可以看到Stephen White编写的一个简单脚本,它演示了该异常是如何导致python线程出错的Exception AttributeError: Attri...

日期:2022-06-24 21:00:28 浏览:944

从python调用url时获取“错误"的页面源

本文介绍了从python调用url时获取“错误"的页面源的处理方法,对大家解决问题具有一定的参考价值 问题描述 尝试从网站检索页面源时,得到的文本与通过 Web 浏览器查看相同页面源时完全不同(且更短).Trying to retrieve the page source from a website, I get a c...

日期:2022-06-25 01:00:31 浏览:594

基于 Python 类的装饰器,带有可以装饰方法或函数的参数

本文介绍了基于 Python 类的装饰器,带有可以装饰方法或函数的参数的处理方法,对大家解决问题具有一定的参考价值 问题描述 我见过很多 Python 装饰器的例子:I've seen many examples of Python decorators that are:函数样式装饰器(包装函数)类样式装饰器(实现 __...

日期:2022-06-25 04:00:31 浏览:924

用python解析outlook .msg文件

本文介绍了用python解析outlook .msg文件的处理方法,对大家解决问题具有一定的参考价值 问题描述 环顾四周,没有找到满意的答案.有谁知道如何使用 Python 解析 Outlook 中的 .msg 文件?Looked around and couldn't find a satisfactory answer...

日期:2022-06-25 06:00:30 浏览:639