获取昨天日期
import datetime
def getYesterday():
today = datetime.date.today()
oneday = datetime.timedelta(days=1)
yesterday = today - oneday
return yesterday
print(getYesterday())
timedelta:该类用来计算前后的时间,一个timedelta对象表示一个时间长度,两个日期或者时间的差值
eg:
import datetime
day = datetime.datetime.now()
daydel=datetime.timedelta(days = 1)
weekdel=datetime.timedelta(weeks = 4)
yeardel = datetime.timedelta(weeks = 56)
print(day)
print(day - daydel)
print(day + daydel)
print(day - weekdel)
print(day + weekdel)
print(day - yeardel)
print(day + yeardel )
计算某年某个月天数
import calendar
month = calendar.monthrange(2019,7)
print(month)
运行:
输出的是一个元组,第一个元素是所查月份的第一天对应的是星期几(0-6),第二个元素是这个月的天数。
以上实例输出的意思为 2019 年 7 月份的第一天是星期一,该月总共有 31 天
某个月的天数
import calendar
print(calendar.mdays)
print(calendar.mdays[9])
运行:
datetime常用方法
#获取当前时间
print(datetime.datetime.now())
print(time.mktime(datetime.datetime.now().timetuple())) #float类型
print(datetime.datetime.now().replace(second=0,microsecond=0))
print(datetime.date.today())
#datetime tuple转成时间字符串
now = datetime.datetime.now()
print(now)
print(now.strftime("%Y-%m-%d %H:%M:%S"))
#datetime tuple转成float类型
now = datetime.datetime.now()
print(time.mktime(now.timetuple()))
#datetime date和time的转换
t = datetime.date(2019,2,18)
print(t)
print(datetime.datetime.strptime(str(t),'%Y-%m-%d'))
#获取当前时间的前一段时间
now = datetime.datetime.now()
# 前一小时
a = now - datetime.timedelta(hours=1)
print(a.strftime("%Y-%m-%d %H:%S:%M"))
# 前一天
b = now - datetime.timedelta(days=1)
print(b.strftime("%Y-%m-%d %H:%S:%M"))
# 上周日
c = now - datetime.timedelta(days=now.isoweekday())
print(c.strftime("%Y-%m-%d %H:%S:%M")) # 上周一
d = c - datetime.timedelta(days=6)
print(d.strftime("%Y-%m-%d %H:%S:%M")) # 上个月最后一天
e = now - datetime.timedelta(days=now.day)
print(e.strftime("%Y-%m-%d %H:%S:%M"))
# 上个月第一天
print(datetime.datetime(e.year, e.month, 1))
#获取两个时间相差秒数
print((datetime.datetime.now()-datetime.datetime(2018,5,16,0,0,0)).total_seconds())