Python 时间推进器-->在当前时间的基础上推前n天 | CST时间转化标准日期格式

时间:2022-12-19 05:43:22

由于公司任务紧迫,好久没有在园子里写自己的心得了,今天偷个闲发表点简单的代码块,在开源的时代贡献微薄力量.话不多说,直接上代码块:

def getday(Y, n):
# 时间推前器
y = int(Y.split('-')[])
m = int(Y.split('-')[])
d = int(Y.split('-')[])
the_date = datetime.datetime(y, m, d)
result_date = the_date + datetime.timedelta(days=n)
# print result_date - datetime.timedelta(days=1)
d = result_date.strftime('%Y-%m-%d')
return d

函数getday()接收俩个参数:Y:要推前的时间的基础时间,例如你要在2018-05-25的基础上往前推天数

  第二个参数:n:代表你要推前几天额整数

主要函数:datetime.timedelta(),该函数还有其他操作,有需要请自问度娘,此处只做参考.

上面方法函数timedelta()只有周,日,时分秒的推移,并没有年和月的推移,下面进行补充:

from dateutil.relativedelta import relativedelta
print(datetime.datetime.strptime('2000-02-28', "%Y-%m-%d").date() - relativedelta(years=+5)) # months:月; days:日;years:年,功能还是比较强大的

-------------------------------------------------------------------------------华丽的分割线---------------------------------------------------------------------------------------------------

类似:

Mon Aug 15 11:24:39 CST 2016

格式的日期转化为标准的xxxx-xx-xx xx:xx:xx的格式

def cst_to_str(cstTime):
"""CST时间格式转化为标准时间: Mon Aug 15 11:24:39 CST 2016---->>>2016-08-15 11:24:39"""
tempTime = time.strptime(cstTime, '%a %b %d %H:%M:%S CST %Y')
resTime = time.strftime('%Y-%m-%d %H:%M:%S', tempTime)
return resTime
python中时间日期格式化符号:
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12) 
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身