我想减去几个月并以yyyymmdd的形式获得结果。 为了开始,我得到一个字符串时间戳,以秒为单位,然后这就是我正在做的事情:
>>> ts=1454284800
>>> billdate = datetime.datetime.strptime(time.strftime('%Y%m%d', time.gmtime(ts)), '%Y%m%d') - datetime.timedelta(5*365/12.0)
>>> billdate
datetime.datetime(2015, 9, 1, 22, 0)
>>>
在我的片段中,我减去5个月,并获得datetime.datetime(2015,9,1,22,0)。我想摆脱22小时并获得datetime.datetime(2015,9,1,0,0)。
提前致谢。
答案 0 :(得分:0)
第1:22点不是白天。这是几个小时。
第2点:如果你想摆脱几个小时并在12:00 AM获得日期时间,那么试试这个:
>>> billdate = datetime.datetime(billdate.year, billdate.month, billdate.day)
>>> billdate
datetime.datetime(2015, 9, 1, 0, 0)
答案 1 :(得分:0)
如果要修改datetime.datetime对象的字段,则需要使用replace
billdate = billdate.replace(hour=0)
来自datetime维基页
的引用
datetime.replace([year[, month[, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]]]]])
返回具有相同属性的日期时间,但这些属性除外 由任何关键字参数给出新值的属性 指定的