This commit is contained in:
yumoqing 2021-07-21 16:31:50 +08:00
parent 9cefb5b53e
commit 7cbeef06ed

View File

@ -33,7 +33,7 @@ def isMonthLastDay(d):
return True
return False
def isLearYear(year):
def isLeapYear(year):
if year % 4 == 0 and year % 100 == 0 and not (year % 400 == 0):
return True
return False
@ -49,8 +49,7 @@ def addSeconds(dt,s):
return ndt
def monthMaxDay(y,m):
dt = ymdDate(y,m,1)
if isLeapYear(dt):
if isLeapYear(y):
return leapMonthDays[m]
return unleapMonthDays[m]
@ -78,18 +77,27 @@ def ymdDate(y,m,d,H=0,M=0,S=0):
return datetime.datetime(y,m,d,H,M,S)
def str2Datetime(dstr):
d,t = dstr.split(' ')
x = dstr.split(' ')
d = x[0]
t = '00:00:00'
if len(x) > 1:
t = x[1]
y,m,d = d.split('-')
H,M,S = t.split(':')
return datetime.datetime(int(y),int(m),int(d),int(H),int(M),int(S))
def strdate_add(date_str, days=0, months=0, years=0):
dt = str2Datetime(date_str)
dt = dateAdd(dt, days=days, months=months, years=years)
ds = date2str(dt)
return ds
def addMonths(dt,months):
y = dt.year()
m = dt.month()
d = dt.day()
mm = m % 12
md = m / 12
if md != 0:
y = dt.year
m = dt.month + months
d = dt.day
mm = (m - 1) % 12 + 1
md = int((m - 1) / 12)
y += md
m = mm
maxd = monthMaxDay(y,m)
@ -98,9 +106,9 @@ def addMonths(dt,months):
return ymdDate(y,m,d)
def addYears(dt,years):
y = dt.year() + years
m = dt.month()
d = dt.day()
y = dt.year + years
m = dt.month
d = dt.day
maxd = monthMaxDay(y,m)
if d > maxd:
d = maxd