使用 strftime 将 python 日期时间转换为纪元

2023-12-22

我有一个 UTC 时间,我想要从纪元开始的秒数。

我正在使用 strftime 将其转换为秒数。以2012年4月1日为例。

>>>datetime.datetime(2012,04,01,0,0).strftime('%s')
'1333234800'

2012 年 4 月 1 日,纪元的 UTC 为 1333238400,但上面返回的结果为 1333234800,相差 1 小时。

所以看起来 strftime 正在考虑我的系统时间并在某处应用时区转换。我认为日期时间纯粹是天真?

我该如何解决这个问题?如果可能的话,避免导入其他库,除非标准。 (我有可移植性问题)。


在 Python 3.3+ 中你可以使用timestamp() https://docs.python.org/3/library/datetime.html#datetime.datetime.timestamp:

>>> datetime.datetime(2012,4,1,0,0).timestamp()
1333234800.0

在 Python 3.2 或更早版本中,您可以显式执行此操作:

 >>> (datetime.datetime(2012,4,1,0,0) - datetime.datetime(1970,1,1)).total_seconds()
 1333238400.0

为什么你不应该使用datetime.strftime('%s')

Python 实际上并不支持 %s 作为 strftime 的参数(如果你检查http://docs.python.org/library/datetime.html#strftime-and-strptime-behavior http://docs.python.org/library/datetime.html#strftime-and-strptime-behavior它不在列表中),它工作的唯一原因是 Python 将信息传递到系统的 strftime,它使用您的本地时区。

>>> datetime.datetime(2012,04,01,0,0).strftime('%s')
'1333234800'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 strftime 将 python 日期时间转换为纪元 的相关文章

随机推荐

  • RoundUp - AngularJS

    我正在使用以下代码来尝试和总结在角度 总体上有效 但是小于 0 5 的数字四舍五入为 0 我想round up每个数字到下一个整数 例如 0 02 应四舍五入为 1 data Virtual SumCores data Physical S
  • Java 返回错误“无法实例化类型”[重复]

    这个问题在这里已经有答案了 当我尝试初始化新对象时收到此错误消息 Cannot instantiate the type Car My code 主程序 java public class Main public static void m
  • Pex 和 Moles 项目还活跃吗?

    他们过去每月发布两个新版本 但自 2010 年 10 月以来 他们没有发布新版本 我发现了this http social msdn microsoft com Forums en pex thread e59d72ae 29fd 4251
  • 如何在交互式变基期间取消暂存文件(从旧提交中删除文件)?

    我读过Pro Git关于交互式变基以更改多个提交的书 所以我正在做git rebase HEAD 3 改了我想修改的一项edit 然后我可以通过更改消息git commit amend 并通过添加一个文件git add file3之后git
  • 打印和格式化字符串文字有什么区别?

    当我们可以使用第 8 行和第 9 行代码时 使用代码有什么意义print比如10号线 my name Zed A Shaw my age 35 my height 74 my weight 180 my eyes Blue my teeth
  • 如果我将数组初始化为大小 0 会发生什么?

    假设我有一个类似的函数 void myFunc List
  • AJAX 响应时间

    如何计算 AJAX 响应时间 我在脚本中需要这个 因为我得到服务器时间戳 但如果请求花费超过 1 秒 我需要在时间戳上添加 1 秒 您需要获取开始时间 就在 AJAX 请求完成之前 然后获取脚本完成时的结束时间 然后您可以计算出差异 如果大
  • pySerial 2.6:在 readline() 中指定行尾

    我正在使用 pySerial 向 Eddie 发送命令 我需要在我的阅读行中指定回车符 但 pySerial 2 6 去掉了它 有解决方法吗 这里有艾迪命令集 https www parallax com sites default fil
  • Spring data jpa,外部化本机查询

    我正在使用 Spring data jpa 来执行本机查询 这是示例 Query value select name from customer nativeQuery true public List
  • 播放 iOS 时从 HLS 流(视频)中提取/录制音频

    我正在使用 AVPlayer 播放 HLS 流 当用户按下录制按钮时 我还需要录制这些流 我使用的方法是分别录制音频和视频 然后最后合并这些文件以制作最终视频 并且远程 mp4 文件成功 但现在对于 HLS m3u8 文件 我可以使用 AV
  • log4j 用于独立的 java 项目

    我正在考虑将 log4j 用于我的独立 java 项目 是否可以将它用于 java 项目 而不是网络应用程序 如果可能的话 我应该如何初始化属性文件以及应该在哪里初始化 我放置了属性文件 目录结构 任何帮助表示赞赏 是的 这是可能的 我们一
  • Bing API v1 文档

    有谁知道我可以在哪里找到 Bongs API 的最新文档 网址如下 https api datamarket azure com Bing Search v1 Web 甚至他们自己的网站在我读过的单词文档中也有错误的 URL 即https
  • 列包含列 2

    我有一个数据框 我想测试 C 在每行上 B 列中的数字是否在字符串 A 列中 df pd DataFrame A me 123 me 123 1234 me 12 123 and B 123 123 123 123 6 我想得到 A B C
  • JPA继承entitymanager.find产生ClassCastException

    我有一个这样的类层次结构 Entity Table name call distribution policies Inheritance strategy InheritanceType JOINED public class CallD
  • 如何在 SQL Server 中使用 Switch

    我想用CASE在我的存储过程中 我的代码中出现一些语法错误 select case Temp when 1 then selectoneCount selectoneCount 1 when 2 then selectoneCount se
  • 将单元格值转换为列标题,如果在 python 中匹配则用 1 填充

    我有一个数据框 df ID 0 1 2 3 4 1 10 20 5 1 2 2 3 4 NaN 10 1 我需要转置该列的单元格值0 1 2 3 4 到列标题 如果相应 ID 存在单元格值 则将其填充为 1 期望的输出 ID 1 2 3 4
  • 设置用于小程序启动的默认 JVM 参数

    我正在尝试远程调试 Java 小程序 但我似乎无法使 agentlib jdwp JVM 参数起作用 我尝试在 Java 控制面板中为所使用的特定 JRE 指定它 并且尝试通过用于启动小程序的 JNLP 文件来设置它 为小程序启动设置 JV
  • React-router v4 - 无法获取 *url*

    我开始使用react router v4 我有一个简单的
  • Socket.io 清理传入数据 (xss)

    我在expressjs 3中使用socket io 我想用express validator清理传入的消息 我有这个代码 var expressValidator require express validator sanitize req
  • 使用 strftime 将 python 日期时间转换为纪元

    我有一个 UTC 时间 我想要从纪元开始的秒数 我正在使用 strftime 将其转换为秒数 以2012年4月1日为例 gt gt gt datetime datetime 2012 04 01 0 0 strftime s 1333234