[Date Prev][Date Next][Thread Prev][Thread Next] [Search] [Date Index] [Thread Index]

[MacPerl] [ALBOT] Mac Y2K Oops?



note: ALBOT eq A Little Bit Off Topic

As some of you may know, some people in Totonto who are selling Mac y2k
compliance software announced that altho the MacOS and hardware don't have any
big problems with y2k as far as internally generated dates go, the
StringToDate() toolbox function is broken and will screw up starting next year
whenever it is used to read an ambiguous date string out of a file
<http://www.peda.com/y2ksa/press1.html>. Their example was that until January,
the string 89 will be interpreted as 1989; in January it will be treated as
2089.

My immediate reaction was that this was just some lame hustle by yet another y2k
con artist, but to my utter amazement, a look at Inside Macintosh suggests that
they may be correct. At
<http://developer.apple.com/techpubs/mac/Text/Text-290.html#MARKER-9-7>, Mother
Apple sayeth:

"When one of the date components is missing, such as the year, the current date
value is used as a default. If the value of the input year is less than 100,
StringToDate determines the year as follows.

1.If (current year) MOD 100 is greater than or equal to 90 and the input year is
less than or equal to 10, the input year is assumed to be in the next century.
 
2.If (current year) MOD 100 is less than or equal to 10 and the input year is
greater than or equal to 90, the input year is assumed to be in the previous
century.
 
3.Otherwise, the input year is assumed to be in the current century.

If the value of the input year is between 100 and 1000, then 1000 is added to
it. Thus the dates 1/9/87, 1/9/987, and 1/9/1987 are equivalent."
        
The way that I read this, 87 would fall under Case 3 and will indeed be
converted to 2087 next year. This is bad. 

So,I don't even know if MacPerl provides access to StringToText via a toolbox
module, but if it does, I would assume that it is also broken. Even if it
doesn't I'm not sure how any of this ultimately plays out when using time or
lacaltime while running MacPerl?

My concluding comment is that I would imagine that Apple could patch the
function pretty easily, but I'm having a little trouble understanding why this
apparently hasn't been addressed by Apple thus far. Any thoughts?


Richard Gordon
Gordon Consulting & Design
Voice: 770-565-8267  Fax: 770-971-6887



***** Want to unsubscribe from this list?
***** Send mail with body "unsubscribe" to mac-perl-request@iis.ee.ethz.ch