generated from ITwrxOrg/EZ-Bkup
fix #10 and related unreported issues.
This commit is contained in:
parent
04b3317f42
commit
d5e2daf1e6
|
@ -69,38 +69,30 @@ proc nextMonthlyOnWeekdayOfWeek*(weekdayString: string, ocurrence: string): Date
|
|||
let nextMonthsDate = now() + 1.months
|
||||
let weekNumStrings = @["1", "2", "3"]
|
||||
if ocurrence in weekNumStrings:
|
||||
nextSendDate = nthWeekdayInMonth(year(nextMonthsDate), month(nextMonthsDate), weekdayString, parseInt(ocurrence))
|
||||
#when ocurrence == "last".
|
||||
#nextSendDate = nthWeekdayInMonth(year(nextMonthsDate), month(now()), weekdayString, parseInt(ocurrence))
|
||||
nextSendDate = nthWeekdayInMonth(year(now()), month(now()), weekdayString, parseInt(ocurrence))
|
||||
if format(nextSendDate, "yyyy-MM-dd") <= format(now(), "yyyy-MM-dd"):
|
||||
nextSendDate = nthWeekdayInMonth(year(nextMonthsDate), month(nextMonthsDate), weekdayString, parseInt(ocurrence))
|
||||
else:
|
||||
nextSendDate = lastWeekdayInMonth(year(nextMonthsDate), month(nextMonthsDate), weekdayString)
|
||||
#only use next month if that day has already occured this month, otherwise adjust it for this month instead.
|
||||
if monthDay(nextSendDate - 1.months) > monthDay(now()):
|
||||
if ocurrence in weekNumStrings:
|
||||
nextSendDate = nthWeekdayInMonth(year(nextMonthsDate), month(now()), weekdayString, parseInt(ocurrence))
|
||||
else:
|
||||
nextSendDate = lastWeekdayInMonth(year(nextMonthsDate), month(now()), weekdayString)
|
||||
#nextSendDate = lastWeekdayInMonth(year(nextMonthsDate), month(now()), weekdayString)
|
||||
nextSendDate = lastWeekdayInMonth(year(now()), month(now()), weekdayString)
|
||||
if format(nextSendDate, "yyyy-MM-dd") <= format(now(), "yyyy-MM-dd"):
|
||||
nextSendDate = lastWeekdayInMonth(year(nextMonthsDate), month(nextMonthsDate), weekdayString)
|
||||
return nextSendDate
|
||||
|
||||
proc nextYearlyOnWeekdayOfWeekOfMonth*(weekdayString, ocurrence, monthString: string): DateTime =
|
||||
var nextSendDate, startingDate: DateTime
|
||||
let nextYearsDate = now() + 1.years
|
||||
#let startingDate = dateTime(year(nextYearsDate), monthFromString(monthString), 01, 0, 0, 0, 0)
|
||||
startingDate = dateTime(year(nextYearsDate), monthFromString(monthString), 01)
|
||||
var nextSendDate, startingDate, nextYearsDate: DateTime
|
||||
nextYearsDate = now() + 1.years
|
||||
nextYearsDate = dateTime(year(nextYearsDate), monthFromString(monthString), 01)
|
||||
let weekNumStrings = @["1", "2", "3"]
|
||||
if ocurrence in weekNumStrings:
|
||||
nextSendDate = nthWeekdayInMonth(year(startingDate), month(startingDate), weekdayString, parseInt(ocurrence))
|
||||
#when ocurrence == "last".
|
||||
nextSendDate = nthWeekdayInMonth(year(now()), month(now()), weekdayString, parseInt(ocurrence))
|
||||
if format(nextSendDate, "yyyy-MM-dd") <= format(now(), "yyyy-MM-dd"):
|
||||
nextSendDate = nthWeekdayInMonth(year(nextYearsDate), month(nextYearsDate), weekdayString, parseInt(ocurrence))
|
||||
else:
|
||||
nextSendDate = lastWeekdayInMonth(year(startingDate), month(startingDate), weekdayString)
|
||||
#only use next year if that month and day has already occured this year, otherwise adjust it for this year instead.
|
||||
if nextSendDate - 1.years > now():
|
||||
startingDate = dateTime(year(now()), monthFromString(monthString), 01)
|
||||
let weekNumStrings = @["1", "2", "3"]
|
||||
if ocurrence in weekNumStrings:
|
||||
nextSendDate = nthWeekdayInMonth(year(startingDate), month(startingDate), weekdayString, parseInt(ocurrence))
|
||||
#when ocurrence == "last".
|
||||
else:
|
||||
nextSendDate = lastWeekdayInMonth(year(startingDate), month(startingDate), weekdayString)
|
||||
nextSendDate = lastWeekdayInMonth(year(now()), month(now()), weekdayString)
|
||||
if format(nextSendDate, "yyyy-MM-dd") <= format(now(), "yyyy-MM-dd"):
|
||||
nextSendDate = lastWeekdayInMonth(year(nextYearsDate), month(nextYearsDate), weekdayString)
|
||||
return nextSendDate
|
||||
|
||||
#[ Returns the next occurrence of the specified month and day, which could be:
|
||||
|
|
Loading…
Reference in New Issue