Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,32 @@
|
|||
on palindromeDates(startYear, targetNumber)
|
||||
script o
|
||||
property output : {}
|
||||
end script
|
||||
|
||||
set counter to 0
|
||||
set y to startYear
|
||||
repeat until ((counter = targetNumber) or (y > 9999))
|
||||
-- Derive a month number from the last two digits of the current year number. It's valid if it's in the range 1 to 12.
|
||||
set m to y mod 10 * 10 + y mod 100 div 10
|
||||
if ((m > 0) and (m < 13)) then
|
||||
-- Derive a day number from the first two digits of the year number.
|
||||
set d to y div 100 mod 10 * 10 + y div 1000
|
||||
-- It's valid if it's between 1 and 28. Otherwise, if it's between 29 and 31, check that it fits the month and year.
|
||||
-- In fact though, it'll only ever be 2 or 12 in the period containing the 15 palindromic dates after 2020.
|
||||
if ((d > 0) and ¬
|
||||
((d < 29) ¬
|
||||
or ((d < 31) and ((m is not 2) or ((d is 29) and (y mod 4 is 0) and ((y mod 100 > 0) or (y mod 400 is 0))))) ¬
|
||||
or ((d is 31) and (m is not in {2, 4, 9, 6, 11})))) then
|
||||
-- If the figures represent a valid date, add a yyyy-mm-dd format text to the end of the output list.
|
||||
tell ((100000000 + y * 10000 + m * 100 + d) as text) to ¬
|
||||
set end of o's output to text 2 thru 5 & ("-" & text 6 thru 7) & ("-" & text 8 thru 9)
|
||||
set counter to counter + 1
|
||||
end if
|
||||
end if
|
||||
set y to y + 1
|
||||
end repeat
|
||||
|
||||
return o's output
|
||||
end palindromeDates
|
||||
|
||||
palindromeDates(2021, 15)
|
||||
Loading…
Add table
Add a link
Reference in a new issue