"DateTime printOn:" output cannot be parsed with "DateTime readFrom:"

Project:GNU Smalltalk
Component:Base classes
Category:bug
Priority:normal
Assigned:Unassigned
Status:active
Description

Unlike Date, Time, Duration the DateTime instance cannot be initialized with a string which is generated by DateTime itself.

st> DateTime now
 2014-08-24T17:50:20+04:00
st> DateTime readFrom: stdin
 2014-08-24T17:50:20+04:00
 2014-10-13T20:04:00+00:00

The DateTime prints itself as YYYY-MM-DD + 'T' + HH:MM:SS + [(+|-)HH:MM[:SS]] (or [Date]T[Time][+-Offset]) and these format hardcoded. However readFrom: expects [Date] [Duration]. An offset should be set with offset: aDuration messsage.

st> dt := DateTime readFrom: stdin
2014-08-24 00:17:50:20
 2014-08-24T17:50:20+00:00
st> dt offset: (Duration days: 0 hours: 4 minutes: 0 seconds: 0)
 2014-08-24T17:50:20+04:00

So there is now way to read/write date and time simultaneously.

User login