The Trunk: Kernel-dtl.705.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Kernel-dtl.705.mcz

commits-2
David T. Lewis uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-dtl.705.mcz

==================== Summary ====================

Name: Kernel-dtl.705
Author: dtl
Time: 9 July 2012, 10:38:16.262 pm
UUID: b52aa671-18a1-43f6-b389-4430bfc0fe9a
Ancestors: Kernel-ul.704

Patch by JohnReed Maffeo for Mantis 7693: DateAndTime readFrom: does not recognize $Z as a valid timezone designator.

http://bugs.squeak.org/view.php?id=7693

Change Set: DateAndTime
Date: 9 July 2012
Author: jrm

Method readFrom: in Class DateAndTime modified to interpret $Z as a valid time zone designator. Associated test modified to verify the new behavior.

=============== Diff against Kernel-ul.704 ===============

Item was changed:
  ----- Method: DateAndTime class>>readFrom: (in category 'squeak protocol') -----
  readFrom: aStream
 
  | offset date time ch |
 
  date := Date readFrom: aStream.
  [aStream peek isDigit]
  whileFalse: [aStream next].
  time := Time readFrom: aStream.
  aStream atEnd
+ ifTrue: [ (aStream last = $Z) ifTrue: [offset := Duration zero] ifFalse: [ offset := self localOffset ]]
- ifTrue: [ offset := self localOffset ]
  ifFalse: [
  ch := aStream next.
  ch = $+ ifTrue: [ch := Character space].
  offset := Duration fromString: ch asString, '0:', aStream upToEnd, ':0'].
 
  ^ self
  year: date year
  month: date monthIndex
  day: date dayOfMonth
  hour: time hour
  minute: time minute
  second: time second
  nanoSecond: time nanoSecond
  offset: offset
 
 
  " '-1199-01-05T20:33:14.321-05:00' asDateAndTime
  ' 2002-05-16T17:20:45.1+01:01' asDateAndTime
 
  ' 2002-05-16T17:20:45.02+01:01' asDateAndTime
 
  ' 2002-05-16T17:20:45.003+01:01' asDateAndTime
 
  ' 2002-05-16T17:20:45.0004+01:01' asDateAndTime
    ' 2002-05-16T17:20:45.00005' asDateAndTime
  ' 2002-05-16T17:20:45.000006+01:01' asDateAndTime
 
  ' 2002-05-16T17:20:45.0000007+01:01' asDateAndTime
  ' 2002-05-16T17:20:45.00000008-01:01' asDateAndTime  
  ' 2002-05-16T17:20:45.000000009+01:01' asDateAndTime  
  ' 2002-05-16T17:20:45.0000000001+01:01' asDateAndTime  
 
    ' 2002-05-16T17:20' asDateAndTime
  ' 2002-05-16T17:20:45' asDateAndTime
  ' 2002-05-16T17:20:45+01:57' asDateAndTime
    ' 2002-05-16T17:20:45-02:34' asDateAndTime
    ' 2002-05-16T17:20:45+00:00' asDateAndTime
  ' 1997-04-26T01:02:03+01:02:3' asDateAndTime
    "!