在Python中使用简单的时间戳
我正在用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
还是datetime
?
2) 创建和使用时间戳对象的合适方法是什么?
非常感谢!
2 个回答
9
你可能想要考虑使用ISO 8601这种格式。这种格式可以帮助你更方便地进行排序,比如说,或者在不同的系统之间传输数据时也会更顺利。
7
选项一:别改动什么。可以用 time.strptime 来解析你的时间戳。
选项二:换成 datetime
。你可以用同样的方式格式化时间戳,并且可以用 datetime.strptime 来解析它们。
其实这两种方法差别不大,因为代码看起来会很相似。搜索的时候需要匹配月份、日期或年份之类的内容。可以用 time
元组来处理这些。或者用 datetime.datetime
对象。再或者,搜索的时候需要比较时间范围;这时可以用秒数来表示时间,或者用 datetime
对象。两种方法都能用,而且在复杂度上差不多。
进行日期计算(比如未来90天、过去3个月等)时,datetime
更加擅长。
总的来说,使用 datetime
通常会让你更开心,因为它功能更多,而且不需要在简单的时间和时间元组之间来回切换。