--- a/Date.st Sat May 06 06:26:35 1995 +0200
+++ b/Date.st Mon May 08 05:31:14 1995 +0200
@@ -22,7 +22,7 @@
COPYRIGHT (c) 1989 by Claus Gittinger
All Rights Reserved
-$Header: /cvs/stx/stx/libbasic/Date.st,v 1.20 1995-05-02 23:55:59 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Date.st,v 1.21 1995-05-08 03:29:07 claus Exp $
'!
!Date class methodsFor:'documentation'!
@@ -43,7 +43,7 @@
version
"
-$Header: /cvs/stx/stx/libbasic/Date.st,v 1.20 1995-05-02 23:55:59 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Date.st,v 1.21 1995-05-08 03:29:07 claus Exp $
"
!
@@ -616,28 +616,32 @@
This method assumes american format (i.e. month-day-year) instead
of the german/french and other day-month-year.
There ought to be a nationalized variant of this."
-
+
|month day year aStream|
- aStream := ReadStream on:aString.
- [aStream peek isLetterOrDigit] whileFalse:[aStream next].
- (aStream peek isDigit) ifTrue:[
- day := Integer readFrom:aStream onError:[^ exceptionBlock value]
+ Object errorSignal handle:[:ex |
+ ^ exceptionBlock value
+ ] do:[
+ aStream := ReadStream on:aString.
+ [aStream peek isLetterOrDigit] whileFalse:[aStream next].
+ (aStream peek isDigit) ifTrue:[
+ day := Integer readFrom:aStream onError:[^ exceptionBlock value]
+ ].
+ [aStream peek isLetterOrDigit] whileFalse:[aStream next].
+ (aStream peek isLetter) ifTrue:[
+ month := aStream nextAlphaNumericWord.
+ day isNil ifTrue:[
+ [aStream peek isLetterOrDigit] whileFalse:[aStream next].
+ day := Integer readFrom:aStream onError:[^ exceptionBlock value].
+ ]
+ ] ifFalse:[
+ month := self nameOfMonth:day.
+ day := Integer readFrom:aStream onError:[^ exceptionBlock value]
+ ].
+ [aStream peek isLetterOrDigit] whileFalse:[aStream next].
+ year := Integer readFrom:aStream onError:[^ exceptionBlock value].
+ ^ self newDay:day month:month year:year
].
- [aStream peek isLetterOrDigit] whileFalse:[aStream next].
- (aStream peek isLetter) ifTrue:[
- month := aStream nextAlphaNumericWord.
- day isNil ifTrue:[
- [aStream peek isLetterOrDigit] whileFalse:[aStream next].
- day := Integer readFrom:aStream onError:[^ exceptionBlock value].
- ]
- ] ifFalse:[
- month := self nameOfMonth:day.
- day := Integer readFrom:aStream onError:[^ exceptionBlock value]
- ].
- [aStream peek isLetterOrDigit] whileFalse:[aStream next].
- year := Integer readFrom:aStream onError:[^ exceptionBlock value].
- ^ self newDay:day month:month year:year
"
Date readFromString:'31 December 1992'