
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)

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