- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 python 的 feedparser 模块来解析 RSS 提要。解析后,feedparser 以 python 9 元组时间格式 (time.struct_time) 返回日期。
我想将这些值存储在我的 mysql 数据库中,以便稍后检查 Last-Modified headers的饲料。重要的是,如果时间元组被转换,当转换回来时它们保持不变,所以我可以稍后使用它们进行比较。
我试过将时间元组转换为日期时间然后再转换回来,但是转换回来时不一样:
dt = datetime.fromtimestamp(time.mktime(struct))
time_tuple = dt.timetuple()
你认为这样做的方法是什么?
最佳答案
我认为您的方法未保留时间元组的原因是 is_dst
值已更改。 time.mktime
尊重struct
中的is_dst
,但是dt.timetuple
改变了is_dst
到-1。
避免此错误的一种方法是将时间元组解释为表示 UTC 时间。这可能不是严格正确的,但它可能足以满足您的目的。
In [1]: import datetime as dt
In [2]: import time
In [3]: import calendar
In [17]: time_tuple=(1970, 1, 1, 0, 0, 0, 3, 1, 1)
In [18]: timestamp=calendar.timegm(time_tuple)
In [19]: timestamp
Out[19]: 0
In [20]: date=dt.datetime.utcfromtimestamp(timestamp)
In [21]: date
Out[21]: datetime.datetime(1970, 1, 1, 0, 0)
In [22]: tuple(date.timetuple())
Out[22]: (1970, 1, 1, 0, 0, 0, 3, 1, -1)
附言。这是一个示例,显示您发布的方法可能无法保留时间元组。假设远程服务器位于 is_dst = 1 的语言环境中,而在您的语言环境中 is_dst = 0:
In [11]: time_tuple=(1970, 1, 1, 0, 0, 0, 3, 1, 1)
In [12]: timestamp=time.mktime(time_tuple)
In [13]: timestamp
Out[13]: 14400.0
In [14]: date=dt.datetime.fromtimestamp(timestamp)
In [15]: date
Out[15]: datetime.datetime(1969, 12, 31, 23, 0)
In [16]: tuple(date.timetuple())
Out[16]: (1969, 12, 31, 23, 0, 0, 2, 365, -1)
关于python - 在 mysql 数据库中存储 python time.struct_time 的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4180280/
您可以在 Python 中使用 strptime 方法解析表示时间的字符串。 stackoverflow 上有许多工作示例: Converting string into datetime 但是,如果
我的格式是这样的: (Pdb) aa = time.strptime("2015-02-28 14:19:05.512", "%Y-%m-%d %H:%M:%S.%f") (Pdb) aa time.
一个比另一个更受欢迎吗?如果是,是在所有情况下还是在少数情况下? 我打算使用某种形式的日期类来保存日期和时间数据的长列表,例如'2009-01-01 10:12:00'. 最佳答案 struct_ti
在 python 中处理时间和日期时,您会偶然发现 time.struct_time 对象: st = time.strptime("23.10.2012", "%d.%m.%Y") print st
为什么 pylint 和 IDE 的智能感知功能无法识别 time.struct_time 的实例?以下代码包含对类的存在/不存在属性、命名元组和类似命名元组的 time.struct_time 的一
我正在编写一个获取 2 个变量、showdate 和 viewtype 的代码。变量数据通过 JavaScript 通过 POST 方法发送。 viewtype = send an srt showd
这是给出错误的python脚本: >>> import time >>> t=[ ] >>> t.append(time.struct_time(tm_year=2000, tm_mon
在 Python 中解析日期后,我需要对其进行修补。但结构体 time.struct_time 仅具有只读属性: parsed = time.strptime("23:59", "%H:%M") pa
当我转换这个时 time.struct_time(tm_year=2014, tm_mon=11, tm_mday=30, tm_hour=4, tm_min=50, tm_sec=8, tm_wda
我是 python 的新手,我不明白如何正确格式化日期。 我的数据是这样的 Fri, 09 Dec 2011 06:50:37 UTC 我是这样准备的: dates.append(time.strpt
如何将 Python time.struct_time 对象转换为 datetime.datetime 对象? 我有一个提供第一个的库和一个需要第二个的库。 最佳答案 使用 time.mktime()
我正在使用 python 的 feedparser 模块来解析 RSS 提要。解析后,feedparser 以 python 9 元组时间格式 (time.struct_time) 返回日期。 我想将
我有一个 python 脚本,我需要比较两个日期。我有一个日期列表作为 time.struct_time 对象,我需要将其与几个 datetime.date 对象进行比较。 如何将 datetime.
我有一个 Python 对象: time.struct_time(tm_year=2013, tm_mon=10, tm_mday=11, tm_hour=11, tm_min=57, tm_sec=
我在传递 datetime 时遇到问题进入Pandas.Series.asof : def valueAsOf(self, date): if type(date) is str:
我有一个最奇怪的问题。此 Python 代码适用于运行股票 Debian 的 Raspberry Pi: from datetime import datetime, date, time now =
我使用带有 Flask 的 Postgresql 使用 SQLAlchemy 有以下数据库结构: class Attendance(db.Model): id = db.Column(db.Int
我是一名优秀的程序员,十分优秀!