gpt4 book ai didi

Python 将时间字符串转换为刻度?

转载 作者:太空宇宙 更新时间:2023-11-03 15:48:27 25 4
gpt4 key购买 nike

有没有一种简单的方法可以将显示日期/时间数据的字符串转换为 Unix 刻度值?

我使用 python 脚本直接从国家气象中心下载的一些数据文件中有日期/时间字符串。

字符串的格式为年月日时分秒,例如20170108233000。

我可以轻松地将其分解为格式良好的字符串,但是有什么方法可以将其转换为刻度,因为这对于排序、消除重复数据等很有用?

我正在考虑一个简单的yearticks=(year-1970)*(365*24*60*60),但这没有考虑闰年和闰秒。

有没有简单的方法可以做到这一点?

最佳答案

我建议您将其解析为 datetime 对象,然后计算 1970 年 1 月 1 日与该时刻之间的秒数:

import datetime

d = datetime.datetime.strptime( "20170108233000", "%Y%m%d%H%M%S")
t0 = datetime.datetime(1970, 1, 1, tzinfo=timezone.utc)
ticks = (d - t0).total_seconds()

编辑:

或者您可以按照 @jonrsharpe 的建议,立即使用 timestamp 方法:

d.timestamp()

在我的机器上运行它会产生:

$ python
Python 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import datetime
>>>
>>> d = datetime.datetime.strptime( "20170108233000", "%Y%m%d%H%M%S")
>>> t0 = datetime.datetime(1970, 1, 1)
>>> ticks = (d - t0).total_seconds()
>>> ticks
1483918200.0
>>>
$ date -d @1483918200
Mon Jan 9 00:30:00 CET 2017

请注意,这会产生 2017 年 1 月 9 日。但这是比利时时间。

关于Python 将时间字符串转换为刻度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41553155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com