【datetime】python的时间获取利器

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)

 


版权声明:本文为small_farmer原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。