去年的今日
# py 计算去年的时间
# 今天日期
today = datetime.date.today()
# 去年时间
last_year = today - datetime.timedelta(days=366)
star = int(time.mktime(time.strptime(str(last_year), '%Y-%m-%d')))
print('star: ', star)
如果是 明年,则 修改代码即可
last_year = today - datetime.timedelta(days=366)
把 符号改为 +
计算 天数 小时 等等。详细可以查看 datetime.timedelta 方法
datetime.timedelta 对象代表两个时间之间的时间差,两个 date 或 datetime 对象相减就可以返回一个 timedelta 对象。
如果有人问你昨天是几号,这个很容易就回答出来了。但是如果问你 200 天前是几号,就不是那么容易答出来。而在 Python 中 datetime 模块中的 timedelta 就可以很轻松给出答案。
函数原型:
class datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])
从构造函数的定义中可以看出,所有参数都是可选的,并且默认都是 0。参数的值可以是整数,浮点数,正数或负数。timedelta 也有自己的一些属性和方法,可以通过 dir (datetime.timedelta) 查看。针对时间存储,timedelta 内部只能存储 days,seconds,microseconds,其他参数的值会自动按如下规则进行转换:
1 millisecond(毫秒)转换成 1000 microseconds(微秒)
1 minute 转换成 60 seconds
1 hour 转换成 3600 seconds
1 week转换成 7 days