【datetime】python的时间获取利器

【datetime】python的时间获取利器_第1张图片

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 月内中的一天
%H 24小时制小时数
%I 12小时制小时数
%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)

 

【datetime】python的时间获取利器_第2张图片

你可能感兴趣的:(python,python,开发语言)