易于使用的Python时间戳

Mor*_*ock 3 python time datetime timestamp

我正在使用Python编写日志类型的应用程序.该应用程序基本上允许用户在日志中写入条目,并添加时间戳以便以后查询日志.

截至目前,我使用该time.ctime()函数生成视觉上友好的时间戳.因此日记帐分录如下:

Thu Jan 21 19:59:47 2010 Did something
Thu Jan 21 20:01:07 2010 Did something else
Run Code Online (Sandbox Code Playgroud)

现在,我希望能够使用这些时间戳来进行一些搜索/查询.我需要能够搜索"2010","2010年2月"或"2010年2月23日".

我的问题是:

1)我应该使用什么时间模块:timevs datetime

2)创建和使用时间戳对象的适当方法是什么?

非常感谢!

Ban*_*i-T 9

您可能需要考虑更改为ISO 8601.例如,有助于排序,或在不同系统之间传输数据.


S.L*_*ott 7

选项1:不要改变任何东西.使用time.strptime来解析时间戳.

选项2:改为datetime.您可以以相同的方式格式化时间戳,并使用datetime.strptime来解析它们.

它没什么关系,因为代码类似.搜索将涉及匹配数月,日或年或某些此类.time为此使用元组.或datetime.datetime对象.或者,搜索将涉及比较时间范围; 使用time在这个秒.或者使用datetime对象.它们都会起作用 - 为此 - 它们的复杂程度相似.

做日期计算(将来90天,过去3个月等)是强项datetime.

一般来说,你会更开心,datetime因为它做得更多,并且不涉及在简单的双倍时间和时间元组时间之间切换.