Nigel Garvey wrote on Thu, 22 May 2003 01:52:39 +0100:
> on dateTommyydd(theDate)
> set {day:dd, year:yyyy} to theDate
> copy theDate to b
> set b's month to January
> set mm to (theDate - b + 3944592) div 2629728
> return text 2 thru -1 of ((100000000 + mm * 1000000 + dd * 10000 +
>yyyy) as string)
> end dateTommyydd
Sorry about the handler name. Late-night brain seizure.
The addition of 100000000 in the return line is to generate a leading
zero when mm is less than 10. This step can be optimised out by changing
one of the numbers in the previous line.
on dateTommddyyyy(theDate)
set {day:dd, year:yyyy} to theDate
copy theDate to b
set b's month to January
set mmPlus100 to (theDate - b + 266917392) div 2629728
return text 2 thru 9 of ((mmPlus100 * 1000000 + dd * 10000 + yyyy) as
string)
end dateTommddyyyy
This can be done using no variables other than the parameter, but the
above's more efficient. :-)
NG