python 将日期和时间转换为linux timestmap

发布于 2024-11-06 14:39:12 字数 184 浏览 2 评论 0原文

我有以下格式的时间戳:

2011 February 2nd  13h 27min 21s
110202             132721

我想将 110202 132721 转换为相应的 linux 时间戳: 1296682041

有没有快速有效的方法来实现这一点?

i have timestamps in the following format:

2011 February 2nd  13h 27min 21s
110202             132721

I want to convert 110202 132721 into the corresponding linux timestamp: 1296682041

Is there any quick efficient way to achieve this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

黑凤梨 2024-11-13 14:39:12

像这样的东西

>>> s =  "110202 132721"
>>> print time.mktime(time.strptime(s, "%y%m%d %H%M%S"))
1296653241.0

将时间解释为当地时间(您当前的时区)。

Something like

>>> s =  "110202 132721"
>>> print time.mktime(time.strptime(s, "%y%m%d %H%M%S"))
1296653241.0

This interprets the time as a local time (your current time zone).

请你别敷衍 2024-11-13 14:39:12

要创建 Unix 时间戳,请使用 time.mktime(t) 函数。它需要一个 time.struct_time 对象。

可以在此处查看对象定义。因此,您只需解析日期和时间并将其放入对象中,然后再将其交给 mktime() 函数

To create a Unix timestamp, use the time.mktime(t) function. It takes a time.struct_time object.

The objects definition can be viewed here. So you just have to parse the date and the time and put it into the object before handing it over to the mktime() function

猥︴琐丶欲为 2024-11-13 14:39:12

如果没有您的时区信息,这不是“相应的”unix 时间戳。

经过几次尝试,我猜测您可能位于美国太平洋海岸,因此您必须在脚本中明确定义它:

from datetime import datetime
import pytz
import calendar

a = "110202 132721"
yourTZ = 'America/Los_Angeles'

calendar.timegm(pytz.timezone(yourTZ).localize(datetime.strptime(a, '%y%m%d %H%M%S')).utctimetuple())

# returns 1296682041

Without your timezone information, this is not the 'corresponding' unix timestamp.

After a few attempts I have guessed you could be located in the Pacific coast of USA, so you have to define it explicitely in your script:

from datetime import datetime
import pytz
import calendar

a = "110202 132721"
yourTZ = 'America/Los_Angeles'

calendar.timegm(pytz.timezone(yourTZ).localize(datetime.strptime(a, '%y%m%d %H%M%S')).utctimetuple())

# returns 1296682041
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文