substract month from timestamp in second
本问题已经有最佳答案,请猛点这里访问。
我想用秒从时间戳中减去几个月。以下是我要做的:
1 2 3 4 5 6 7 8 | >>> ts = 1454284800 >>> date_object = datetime.datetime.strptime(time.strftime('%Y%m%d', time.gmtime(1454284800)), '%Y%m%d') >>> date_object datetime.datetime(2016, 2, 1, 0, 0) >>> date_substract = date_object - datetime.timedelta(9*365/12.0) >>> date_substract datetime.datetime(2015, 5, 3, 6, 0) >>> |
它取决于我要减去的月份数的值,但对于9个月的示例,days datetime.datetime(2015,5,3,6,0)是错误的。有没有更好的方法来缩短月份,这只会改变月份数,而不是天数。
事先谢谢。
仿佛是你的朋友。它计算了一个相对日期的价值。
它处理了作弊案(E.G.在3月31日之前一个月),但你需要检查决议是否符合你的要求。
1 2 3 | date = datetime.datetime(year=2016, month=3, day=31) date + dateutil.relativedelta.relativedelta(date, months=-1) => datetime.datetime(2016, 2, 29, 0, 0) |