class: Timestamp
changed:
#getMilliseconds
#getSeconds
#setMilliseconds:
#setSeconds:
Fix for 1600 based windows epoch
--- a/Timestamp.st Sat Nov 08 18:14:37 2014 +0100
+++ b/Timestamp.st Sat Nov 08 19:22:05 2014 +0100
@@ -12,25 +12,25 @@
"{ Package: 'stx:libbasic' }"
AbstractTime subclass:#Timestamp
- instanceVariableNames:'osTime'
- classVariableNames:'Epoch EpochEnd EpochEndOSTime'
- poolDictionaries:''
- category:'Magnitude-Time'
+ instanceVariableNames:'osTime'
+ classVariableNames:'Epoch EpochEnd EpochEndOSTime'
+ poolDictionaries:''
+ category:'Magnitude-Time'
!
Object subclass:#TimestampBuilderAbstract
- instanceVariableNames:'year month day hour minute second millisecond isUtcTime
- hasTimezone yearAlreadyRead utcOffset'
- classVariableNames:''
- poolDictionaries:''
- privateIn:Timestamp
+ instanceVariableNames:'year month day hour minute second millisecond isUtcTime
+ hasTimezone yearAlreadyRead utcOffset'
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:Timestamp
!
Timestamp::TimestampBuilderAbstract subclass:#TimestampISO8601Builder
- instanceVariableNames:'stream'
- classVariableNames:''
- poolDictionaries:''
- privateIn:Timestamp
+ instanceVariableNames:'stream'
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:Timestamp
!
!Timestamp class methodsFor:'documentation'!
@@ -2798,7 +2798,7 @@
getMilliseconds
"strictly private: return the milliseconds (since the epoch) in utc"
- ^ osTime
+ ^ osTime - OperatingSystem osTimeOf19700101
"Created: 1.7.1996 / 14:33:56 / cg"
!
@@ -2806,13 +2806,13 @@
getSeconds
"strictly private: return the seconds (since the epoch) in utc"
- ^ osTime // 1000
+ ^ (osTime - OperatingSystem osTimeOf19700101) // 1000
!
setMilliseconds:millis
"strictly private: set the milliseconds (since the epoch)"
- osTime := millis.
+ osTime := OperatingSystem osTimeOf19700101 + millis.
"Modified: 20.12.1995 / 11:46:36 / stefan"
"Created: 1.7.1996 / 14:34:24 / cg"
@@ -2821,7 +2821,7 @@
setSeconds:secs
"strictly private: set the seconds (since whatever)"
- osTime := secs * 1000.
+ osTime := OperatingSystem osTimeOf19700101 + (secs * 1000).
"Modified: 20.12.1995 / 11:46:36 / stefan"
"Modified: 1.7.1996 / 14:34:10 / cg"
@@ -3820,11 +3820,11 @@
!Timestamp class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Timestamp.st,v 1.193 2014-11-08 17:13:29 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Timestamp.st,v 1.194 2014-11-08 18:22:05 stefan Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/Timestamp.st,v 1.193 2014-11-08 17:13:29 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Timestamp.st,v 1.194 2014-11-08 18:22:05 stefan Exp $'
! !