python自带了相当丰富的时间操作库,但想要介绍时间操作,未免太为繁琐和杂乱,所以这里只列出了一些实用的日期操作供大家参考。欢迎留言补充。
获取当前日期
import datetime
today=datetime.datetime.today()
print(today)
获取日期的年、月、日
import datetime
today=datetime.datetime.today()
print(today.year,today.month,today.day)
获取当前日期是周几
import datetime
import calendar
today=datetime.datetime.today()
weekday_num=today.weekday()
weekday=calendar.day_name[weekday_num]
print(weekday_num,weekday)
获取一个特定的日期
import datetime
d=datetime.datetime(2018,2,28)
print(d)
将时间字符串转换为日期
import datetime
d_str="2018-05-16 15:25:19"
# %Y,%m等符号代表的含义参考https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior
d=datetime.datetime.strptime(d_str,"%Y-%m-%d %H:%M:%S")
print(d)
获取两个日期之间相差的天数
import datetime
d1=datetime.datetime(2018,2,1)
d2=datetime.datetime(2018,5,1)
days=(d1-d2).days
print(days)
获取当前月份第一天是周几,和天数
import datetime
from calendar import monthrange
today=datetime.datetime.today()
weekday,days=monthrange(today.year,today.month)
print(weekday,days)
获取指定天数变化后的日期
import datetime
today=datetime.datetime.today()
today_delta=today-datetime.timedelta(days=1)
print(today_delta)
获取指定周期(年,月)变化后的日期
import datetime
from calendar import monthrange
today=datetime.datetime.today()
# 上个月的“今天”
last_month_date=today-relativedelta(months=1)
# 上一年的“今天”
last_year_today=today-relativedelta(years=1)
print(last_month_date,last_year_today)