Python写一些业务场景,肯定避免不了要使用时间,那么怎么做好“时间管理”呢。以下是我经常用的几个用法,后续遇到新的也会一并补充进来,也当作为自己的一个笔记吧。
1、获取当前时间或生成指定时间
# 获取当前时间
time = datetime.datetime.now()
# 指定时间
time = datetime.datetime.strptime("2019-03-17 11:00:00", "%Y-%m-%d %H:%M:%S")
time = datetime.datetime.strptime("2019-03-17", "%Y-%m-%d")
2.strftime格式化时间
如需要获取指定时间格式,还有特定格式的年月日,星期,分钟,秒等。
format_time = datetime.datetime.now().strftime('%Y%m')
2.1 格式化参数大全
%y两位数的年份%Y四位数的年份%m月份%d月内中的一天%H24小时制小时数%I12小时制小时数%M分钟数%S秒%a本地简化星期名称%A本地完整星期名称%b本地简化的月份名称%B本地完整的月份名称%c本地相应的日期表示和时间表示%j年内的一天%p本地A.M.或P.M.的等价符%U一年中的星期数,星期天为星期的开始%w星期,星期天为星期的开始%W一年中的星期数,‘星期一为星期的开始%x本地相应的日期表示%X本地相应的时间表示%Z当前时区的名称%%%号本身
3、日期加减
3.1 加减天数
# 日期加1天
print(datetime.datetime.now() + datetime.timedelta(days=1))
# 日期减1天
print(datetime.datetime.now() - datetime.timedelta(days=1))
print(datetime.datetime.now() + datetime.timedelta(days=-1))
3.2 时间增加小时、增加分钟
把3.1中的days改为hours minutes,就可以提前**小时/分钟了。
3.3 时间增加个月,增加年
from dateutil.relativedelta import relativedelta
# 增加一个月
add_one_month = datetime.datetime.now() + relativedelta(months=1)
# 增加一年
add_one_year = datetime.datetime.now() + relativedelta(years=1)
3.4 更加强大的用法 relativedelta。组合减少任意年,任意月,任意天:
# 组合增加一年,一月,一天
datetime.datetime.now() + relativedelta(years = 1, months =1, days =5)
版权归原作者 码几手 所有, 如有侵权,请联系我们删除。