Timestamp.st
author claus
Thu, 02 Jun 1994 18:22:49 +0200
changeset 88 81dacba7a63a
parent 82 0147b4f725ae
child 92 0c73b48551ac
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
30
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
     1
"
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
     2
 COPYRIGHT (c) 1989 by Claus Gittinger
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
     3
              All Rights Reserved
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
     4
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
     5
 This software is furnished under a license and may be used
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    10
 hereby transferred.
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    11
"
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    12
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    13
Magnitude subclass:#AbsoluteTime
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    14
       instanceVariableNames:'secondsLow secondsHi'
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    15
       classVariableNames:''
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    16
       poolDictionaries:''
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    17
       category:'Magnitude-General'
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    18
!
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    19
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    20
AbsoluteTime comment:'
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    21
COPYRIGHT (c) 1989 by Claus Gittinger
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    22
              All Rights Reserved
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    23
'!
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    24
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    25
!AbsoluteTime class methodsFor:'documentation'!
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    26
82
0147b4f725ae *** empty log message ***
claus
parents: 77
diff changeset
    27
copyright
0147b4f725ae *** empty log message ***
claus
parents: 77
diff changeset
    28
"
0147b4f725ae *** empty log message ***
claus
parents: 77
diff changeset
    29
 COPYRIGHT (c) 1989 by Claus Gittinger
0147b4f725ae *** empty log message ***
claus
parents: 77
diff changeset
    30
              All Rights Reserved
0147b4f725ae *** empty log message ***
claus
parents: 77
diff changeset
    31
0147b4f725ae *** empty log message ***
claus
parents: 77
diff changeset
    32
 This software is furnished under a license and may be used
0147b4f725ae *** empty log message ***
claus
parents: 77
diff changeset
    33
 only in accordance with the terms of that license and with the
0147b4f725ae *** empty log message ***
claus
parents: 77
diff changeset
    34
 inclusion of the above copyright notice.   This software may not
0147b4f725ae *** empty log message ***
claus
parents: 77
diff changeset
    35
 be provided or otherwise made available to, or used by, any
0147b4f725ae *** empty log message ***
claus
parents: 77
diff changeset
    36
 other person.  No title to or ownership of the software is
0147b4f725ae *** empty log message ***
claus
parents: 77
diff changeset
    37
 hereby transferred.
0147b4f725ae *** empty log message ***
claus
parents: 77
diff changeset
    38
"
0147b4f725ae *** empty log message ***
claus
parents: 77
diff changeset
    39
!
0147b4f725ae *** empty log message ***
claus
parents: 77
diff changeset
    40
0147b4f725ae *** empty log message ***
claus
parents: 77
diff changeset
    41
version
0147b4f725ae *** empty log message ***
claus
parents: 77
diff changeset
    42
"
0147b4f725ae *** empty log message ***
claus
parents: 77
diff changeset
    43
$Header: /cvs/stx/stx/libbasic/Timestamp.st,v 1.4 1994-06-02 11:18:09 claus Exp $
0147b4f725ae *** empty log message ***
claus
parents: 77
diff changeset
    44
"
0147b4f725ae *** empty log message ***
claus
parents: 77
diff changeset
    45
!
0147b4f725ae *** empty log message ***
claus
parents: 77
diff changeset
    46
30
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    47
documentation
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    48
"
77
6c38ca59927f *** empty log message ***
claus
parents: 54
diff changeset
    49
    This class represents time values in seconds from 1st. Jan 1970, as
6c38ca59927f *** empty log message ***
claus
parents: 54
diff changeset
    50
    used in the Unix operating system. Its implementation is not the same
6c38ca59927f *** empty log message ***
claus
parents: 54
diff changeset
    51
    as in ST-80 (which represents Time as seconds from 1. Jan 1901.
30
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    52
77
6c38ca59927f *** empty log message ***
claus
parents: 54
diff changeset
    53
    Since unix-times are 32 bit which does not fit into a SmallInteger, 
6c38ca59927f *** empty log message ***
claus
parents: 54
diff changeset
    54
    we keep low and hi 16bit of the time separately (it could have been implemented
6c38ca59927f *** empty log message ***
claus
parents: 54
diff changeset
    55
    using LargeIntegers though).
30
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    56
77
6c38ca59927f *** empty log message ***
claus
parents: 54
diff changeset
    57
    This is an abstract class to support Time and Date.
30
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    58
"
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    59
! !
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    60
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    61
!AbsoluteTime class methodsFor:'instance creation'!
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    62
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    63
secondClock
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    64
    "return seconds of now - for GNU-ST compatibility"
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    65
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    66
    ^ OperatingSystem getTime
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    67
!
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    68
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    69
millisecondClockValue
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    70
    "return the millisecond clock - since this one overruns
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    71
     regularly, use only for short timing deltas"
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    72
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    73
    ^ OperatingSystem getMillisecondTime.
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    74
!
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    75
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    76
fromUnixTimeLow:low and:hi
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    77
    ^ self basicNew setSecondsLow:low and:hi
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    78
!
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    79
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    80
dateAndTimeNow
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    81
    "return an array filled with date and time"
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    82
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    83
    ^ Array with:(Date today) with:(Time now)
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    84
! !
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    85
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    86
!AbsoluteTime class methodsFor:'timing evaluations'!
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    87
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    88
secondsToRun:aBlock
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    89
    "evaluate the argument, aBlock; return the number of seconds it took"
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    90
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    91
    |startTime endTime|
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    92
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    93
    startTime := self now.
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    94
    aBlock value.
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    95
    endTime := self now.
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    96
    ^ endTime - startTime
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    97
!
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    98
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
    99
millisecondsToRun:aBlock
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   100
    "evaluate the argument, aBlock; return the number of milliseconds it took"
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   101
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   102
    |startTime endTime|
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   103
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   104
    startTime := OperatingSystem getMillisecondTime.
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   105
    aBlock value.
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   106
    endTime := OperatingSystem getMillisecondTime.
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   107
    ^ endTime - startTime
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   108
! !
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   109
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   110
!AbsoluteTime methodsFor:'accessing'!
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   111
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   112
hourInDay
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   113
    "return the hour-part"
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   114
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   115
    |hr|
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   116
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   117
    OperatingSystem computeTimePartsOf:secondsLow and:secondsHi for:[
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   118
        :hours :minutes :secs |
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   119
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   120
        hr := hours
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   121
    ].
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   122
    ^ hr
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   123
!
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   124
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   125
minuteInDay
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   126
    "return the minute-part"
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   127
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   128
    |m|
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   129
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   130
    OperatingSystem computeTimePartsOf:secondsLow and:secondsHi for:[
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   131
        :hours :minutes :secs |
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   132
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   133
        m := minutes
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   134
    ].
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   135
    ^ m
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   136
!
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   137
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   138
secondInDay
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   139
    "return the second-part"
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   140
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   141
    |s|
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   142
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   143
    OperatingSystem computeTimePartsOf:secondsLow and:secondsHi for:[
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   144
        :hours :minutes :secs |
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   145
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   146
        s := secs
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   147
    ].
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   148
    ^ s
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   149
!
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   150
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   151
day
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   152
    "return the day-in-month of the receiver (1..31)"
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   153
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   154
    OperatingSystem computeDatePartsOf:secondsLow and:secondsHi
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   155
                                   for:[:year :month :day |
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   156
        ^ day
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   157
    ]
54
06dbdeeed4f9 *** empty log message ***
claus
parents: 30
diff changeset
   158
06dbdeeed4f9 *** empty log message ***
claus
parents: 30
diff changeset
   159
    "Date today day"
30
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   160
!
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   161
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   162
month
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   163
    "return the month of the receiver (1..12)"
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   164
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   165
    OperatingSystem computeDatePartsOf:secondsLow and:secondsHi
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   166
                                   for:[:year :month :day |
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   167
        ^ month
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   168
    ]
54
06dbdeeed4f9 *** empty log message ***
claus
parents: 30
diff changeset
   169
06dbdeeed4f9 *** empty log message ***
claus
parents: 30
diff changeset
   170
    "Date today month"
30
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   171
!
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   172
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   173
year
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   174
    "return the year of the receiver i.e. 1992"
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   175
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   176
    OperatingSystem computeDatePartsOf:secondsLow and:secondsHi
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   177
                                   for:[:year :month :day |
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   178
        ^ year
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   179
    ]
54
06dbdeeed4f9 *** empty log message ***
claus
parents: 30
diff changeset
   180
06dbdeeed4f9 *** empty log message ***
claus
parents: 30
diff changeset
   181
    "Date today year"
30
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   182
! !
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   183
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   184
!AbsoluteTime methodsFor:'comparing'!
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   185
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   186
> aTime
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   187
    secondsHi > aTime secondsHi ifTrue:[^ true].
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   188
    secondsHi < aTime secondsHi ifTrue:[^ false].
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   189
    ^ secondsLow > aTime secondsLow
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   190
!
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   191
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   192
< aTime
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   193
    secondsHi < aTime secondsHi ifTrue:[^ true].
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   194
    secondsHi > aTime secondsHi ifTrue:[^ false].
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   195
    ^ secondsLow < aTime secondsLow
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   196
!
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   197
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   198
= aTime
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   199
    ^ (secondsLow == aTime secondsLow) and:[secondsHi == aTime secondsHi]
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   200
! !
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   201
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   202
!AbsoluteTime methodsFor:'arithmetic'!
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   203
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   204
- aTime
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   205
    "return delta in seconds between 2 times/dates"
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   206
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   207
    ^ self getSeconds - (aTime getSeconds)
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   208
!
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   209
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   210
addTime:timeAmount
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   211
    "return a new Time/Date timeAmount seconds from myself"
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   212
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   213
    ^ self class new setSeconds:(self getSeconds + timeAmount)
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   214
!
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   215
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   216
subtractTime:timeAmount
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   217
    "return a new Time/Date timeAmount seconds before myself"
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   218
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   219
    ^ self class new setSeconds:(self getSeconds - timeAmount)
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   220
! !
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   221
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   222
!AbsoluteTime methodsFor:'storing'!
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   223
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   224
storeString
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   225
    |string|
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   226
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   227
    string := '(' , self class name , ' new setSecondsLow:'.
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   228
    string := string , secondsLow storeString.
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   229
    string := string , ' and:' , secondsHi storeString.
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   230
    string := string , ')'.
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   231
    ^ string
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   232
! !
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   233
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   234
!AbsoluteTime methodsFor:'converting'!
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   235
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   236
asSeconds
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   237
    ^ (secondsHi * 16r10000) + secondsLow
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   238
!
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   239
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   240
asDate
54
06dbdeeed4f9 *** empty log message ***
claus
parents: 30
diff changeset
   241
    "return a Date object from the receiver"
06dbdeeed4f9 *** empty log message ***
claus
parents: 30
diff changeset
   242
06dbdeeed4f9 *** empty log message ***
claus
parents: 30
diff changeset
   243
    ^ Date fromOSTime:(Array with:secondsLow with:secondsHi) 
30
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   244
!
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   245
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   246
asTime
54
06dbdeeed4f9 *** empty log message ***
claus
parents: 30
diff changeset
   247
    ^ Time fromOSTime:(Array with:secondsLow with:secondsHi)
30
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   248
! !
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   249
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   250
!AbsoluteTime methodsFor:'private'!
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   251
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   252
secondsLow
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   253
    ^ secondsLow
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   254
!
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   255
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   256
secondsHi
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   257
    ^ secondsHi
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   258
!
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   259
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   260
getSeconds
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   261
    ^ (secondsHi * 16r10000) + secondsLow
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   262
!
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   263
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   264
setSeconds:secs
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   265
    secondsHi := secs // 16r10000.
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   266
    secondsLow := secs \\ 16r10000
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   267
!
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   268
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   269
setSecondsLow:secsLow and:secsHi
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   270
    secondsHi := secsHi.
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   271
    secondsLow := secsLow
c5f5604e0c0a Initial revision
claus
parents:
diff changeset
   272
! !