[Pythonmac-SIG] Apple Events
John W Baxter
Fri, 14 Apr 2000 15:17:54 -0700
Dan Green enquires:
>Does anybody know how to convert apple event types of "ldt" to a proper date
>value? Whenever I capture said value in a python script I get a value of
>Unknown('ltd', '\000\000\000\000\265\034\246\343') or something similar.
>Dates on a Mac should be # of seconds since 1980 sometime, no?
>Dan Green | "So What? It's your problem to learn to live with,
'ldt ' (note the trailing space) is the type used by AppleScript (and
probably others) for the Macintosh long date type, which is a 64-bit signed
number of seconds since the midnight at the beginning of January 1, 1904.
It can be easily represented in C in one of the ways the Apple headers do
it: an unsigned long low longword and a signed long high longword.
Sorry, but I haven't tried dealing with it in Python...I suppose a C
extension could fabricate a suitable Python long integer.
Hint: in the range 1904 through early 2040, the high four bytes are
zero...after sometime in 1972, the low four bytes are a negative number
when considered as signed (which the Mac headers tend to do for the old 4
byte date type given the Pascal heritage).
--John (sending just to the list, after having accidentally sent just to
John Baxter firstname.lastname@example.org Port Ludlow, WA, USA