在Python(3.4)中,如何创建数字日期时间表示?它将在Redis上用作"分数"和ZRANGEBYSCORE*查询?
更多细节:我使用的是Redis和Python。我需要将日期和时间表示为数字,以便查询排序集。该集合将在ID上键入。分数将是数字日期时间表示。
我已经读到使用ZRANGEBYSCORE
可以获得日期范围内的文章ID,但我找不到任何关于如何在Python中创建数字日期-时间表示的示例,我可以将其用作分数!你会用类似纪元的东西吗?
time
模块有一个time()
函数,它生成一个本地化的Unix风格的时间戳。
>>> import time
>>> int(time.time())
1460845456
再次注意,这是本地化的-它基于本地时间,不具有时区意识。
如果你想进行计算,datetime
模块非常有用:
>>> import datetime
>>> datetime.datetime.now()
datetime.datetime(2016, 4, 16, 15, 26, 14, 657718)
>>> datetime.datetime.now().day
16
>>> datetime.datetime.now() - datetime.timedelta(days=3)
datetime.datetime(2016, 4, 13, 15, 26, 43, 769385)
您还可以在以下格式之间进行转换:
>>> datetime.datetime.fromtimestamp(time.time())
datetime.datetime(2016, 4, 16, 15, 28, 6, 29099)
>>> datetime.datetime.now().timestamp()
1460845739.061133