易于使用的Python时间戳

时间:2010-01-24 15:01:43

标签: python datetime time timestamp

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

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

Thu Jan 21 19:59:47 2010 Did something
Thu Jan 21 20:01:07 2010 Did something else

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

我的问题是:

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

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

非常感谢!

2 个答案:

答案 0 :(得分:9)

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

答案 1 :(得分:7)

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

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

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

进行日期计算(将来90天,过去3个月等)是datetime的强项。

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