I think a solution that can tuned or tweaked to it's application would  
be must useful.  It's all very well to insist on users using four- 
digit years, but for processing historical data, for example, one  
doesn't have the luxury of insisting on the data format, but has to  
use what is there :-(

Perhaps a variable that determines the transition from 19xx to 20xx  
would be appropriate?

David
PS- here in Canada we interpret 4/5/xxxx the opposite to the USA.  I  
always use yyyy.mm.dd.hh.ss to the appropriate resolution :-)


On 2010-01-16, at 10:42 AM, Stéphane Ducasse  
<[email protected]> wrote:

> Yes
>
> Date fromString: '6-Jan-03'
> -> 6 January 2003
>
> is also wrong. So david just tried to patch this wrong behavior.
>
> Stef
>
>
> On Jan 16, 2010, at 6:02 PM, [email protected] wrote:
>
>> I'm afraid the 'fix' is trying to repair something is not broken!
>>
>> Date fromString: '6-Jan-10'. giving "6 January 1910" has not  
>> anything wrong.  Within five year we'll have users/programmers  
>> complaining that:
>>
>> Date fromString: '6-Jan-16'. gave "6 January 1916" and *obviously*  
>> it should have given "6 January 2015"!!
>>
>> Rather document that years given with two figures get counted from  
>> 1900 (as it used to be in last century) and have people to use four  
>> digits for years in the 2000s.
>>
>> Otherwise:
>>
>> 1) We need to get used to the concept of an epoch time for Pharo; or
>>
>> 2) the number to be tested has to be the current year!
>>
>> My 0.019999. . .
>>
>> --
>> Cesar Rabak
>>
>>
>> Em 16/01/2010 07:57, Stéphane Ducasse < [email protected]  
>> > escreveu:
>>
>>
>> hi guys
>>
>> can one of you give a look at the this fix because I'm confused.    
>> Kernel-DavidHotham.538
>>
>> year < 20 ifTrue: [year := 2000 + year]
>> was
>> year < 10 ifTrue: [year := 2000 + year]
>>
>> both solutions look strange to me.
>>
>> http://code.google.com/p/pharo/issues/detail?id=1749
>>
>>
>> readFrom: aStream
>> "Read a Date from the stream in any of the forms:
>> (5 April 1982; 5-APR-82)
>> (April 5, 1982)
>> (4/5/82)
>> (5APR82)"
>> | day month year |
>> aStream peek isDigit
>> ifTrue: [day := Integer readFrom: aStream].
>> [aStream peek isAlphaNumeric]
>> whileFalse: [aStream skip: 1].
>> aStream peek isLetter
>> ifTrue: ["number/name... or name..."
>> month := (String new: 10) writeStream.
>> [aStream peek isLetter]
>> whileTrue: [month nextPut: aStream next].
>> month := month contents.
>> day isNil
>> ifTrue: ["name/number..."
>> [aStream peek isAlphaNumeric]
>> whileFalse: [aStream skip: 1].
>> day := Integer readFrom: aStream]]
>> ifFalse: ["number/number..."
>> month := Month nameOfMonth: day.
>> day := Integer readFrom: aStream].
>> [aStream peek isAlphaNumeric]
>> whileFalse: [aStream skip: 1].
>> year := Integer readFrom: aStream.
>>>>    year < 20 ifTrue: [year := 2000 + year]
>> ifFalse: [ year < 1900 ifTrue: [ year := 1900 + year]].
>>
>> ^ self
>> year: year
>> month: month
>> day: day
>> _______________________________________________
>> Pharo-project mailing list
>> [email protected]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [email protected]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to