我想查询我的数据库,查看特定日期(例如今天00:00到23:59:59)发布的所有记录,给出datetime.datetime时间戳,例如datetime.datetime(2010,12,21) ,17,59,43,85335)。
请计算开始和结束datetime.datetime实例的最佳方法是什么?我想最终得到这样的东西:
>>> timestamp = datetime.datetime(2010, 12, 21, 17, 59, 43, 85335)
>>> # do something with timestamp to get start_date and end_date
>>> start_date
datetime.datetime(2010, 12, 21, 0, 0, 0, 0)
>>> end_date
datetime.datetime(2010, 12, 21, 23, 59, 59, 0)
谢谢,HC
答案 0 :(得分:2)
>>> timestamp = datetime.datetime.now()
>>> timestamp
datetime.datetime(2010, 12, 21, 18, 31, 37, 900795)
>>> timestamp.replace(hour=0, minute=0, second=0, microsecond=0)
datetime.datetime(2010, 12, 21, 0, 0)
答案 1 :(得分:0)
如果它只是计算一天,那么你所拥有的就好了。只需使用当天,然后分别将时间设为0:00和23:59。
如果你想获得一个月的开始和结束时间,那就会变得更复杂,因为几个月有不同的日子。对于类似的东西,你可以使用这个模块
答案 2 :(得分:0)
timedelta听起来就像你需要的那样。
http://docs.python.org/library/datetime.html#timedelta-objects
从datetime导入日期时间,日期
date.today() - timedelta(days = 7)
从今天起7天后会给你。