Time.st
author claus
Mon, 06 Feb 1995 03:56:44 +0100
changeset 239 472f810ecccf
parent 216 a8abff749575
child 241 6f30be88e314
permissions -rw-r--r--
readFrom; houtr:minutes:seconds: fixed
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
a27a279701f8 Initial revision
claus
parents:
diff changeset
     1
"
5
67342904af11 *** empty log message ***
claus
parents: 3
diff changeset
     2
 COPYRIGHT (c) 1989 by Claus Gittinger
159
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
     3
	      All Rights Reserved
1
a27a279701f8 Initial revision
claus
parents:
diff changeset
     4
a27a279701f8 Initial revision
claus
parents:
diff changeset
     5
 This software is furnished under a license and may be used
a27a279701f8 Initial revision
claus
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
a27a279701f8 Initial revision
claus
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
a27a279701f8 Initial revision
claus
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
a27a279701f8 Initial revision
claus
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
a27a279701f8 Initial revision
claus
parents:
diff changeset
    10
 hereby transferred.
a27a279701f8 Initial revision
claus
parents:
diff changeset
    11
"
a27a279701f8 Initial revision
claus
parents:
diff changeset
    12
32
ee1a621c696c *** empty log message ***
claus
parents: 13
diff changeset
    13
AbsoluteTime subclass:#Time
ee1a621c696c *** empty log message ***
claus
parents: 13
diff changeset
    14
       instanceVariableNames:''
1
a27a279701f8 Initial revision
claus
parents:
diff changeset
    15
       classVariableNames:''
a27a279701f8 Initial revision
claus
parents:
diff changeset
    16
       poolDictionaries:''
a27a279701f8 Initial revision
claus
parents:
diff changeset
    17
       category:'Magnitude-General'
a27a279701f8 Initial revision
claus
parents:
diff changeset
    18
!
a27a279701f8 Initial revision
claus
parents:
diff changeset
    19
a27a279701f8 Initial revision
claus
parents:
diff changeset
    20
Time comment:'
5
67342904af11 *** empty log message ***
claus
parents: 3
diff changeset
    21
COPYRIGHT (c) 1989 by Claus Gittinger
159
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
    22
	      All Rights Reserved
95
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
    23
239
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
    24
$Header: /cvs/stx/stx/libbasic/Time.st,v 1.13 1995-02-06 02:56:44 claus Exp $
88
81dacba7a63a *** empty log message ***
claus
parents: 77
diff changeset
    25
'!
1
a27a279701f8 Initial revision
claus
parents:
diff changeset
    26
88
81dacba7a63a *** empty log message ***
claus
parents: 77
diff changeset
    27
!Time class methodsFor:'documentation'!
81dacba7a63a *** empty log message ***
claus
parents: 77
diff changeset
    28
81dacba7a63a *** empty log message ***
claus
parents: 77
diff changeset
    29
copyright
81dacba7a63a *** empty log message ***
claus
parents: 77
diff changeset
    30
"
81dacba7a63a *** empty log message ***
claus
parents: 77
diff changeset
    31
 COPYRIGHT (c) 1989 by Claus Gittinger
159
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
    32
	      All Rights Reserved
88
81dacba7a63a *** empty log message ***
claus
parents: 77
diff changeset
    33
81dacba7a63a *** empty log message ***
claus
parents: 77
diff changeset
    34
 This software is furnished under a license and may be used
81dacba7a63a *** empty log message ***
claus
parents: 77
diff changeset
    35
 only in accordance with the terms of that license and with the
81dacba7a63a *** empty log message ***
claus
parents: 77
diff changeset
    36
 inclusion of the above copyright notice.   This software may not
81dacba7a63a *** empty log message ***
claus
parents: 77
diff changeset
    37
 be provided or otherwise made available to, or used by, any
81dacba7a63a *** empty log message ***
claus
parents: 77
diff changeset
    38
 other person.  No title to or ownership of the software is
81dacba7a63a *** empty log message ***
claus
parents: 77
diff changeset
    39
 hereby transferred.
81dacba7a63a *** empty log message ***
claus
parents: 77
diff changeset
    40
"
81dacba7a63a *** empty log message ***
claus
parents: 77
diff changeset
    41
!
81dacba7a63a *** empty log message ***
claus
parents: 77
diff changeset
    42
81dacba7a63a *** empty log message ***
claus
parents: 77
diff changeset
    43
version
81dacba7a63a *** empty log message ***
claus
parents: 77
diff changeset
    44
"
239
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
    45
$Header: /cvs/stx/stx/libbasic/Time.st,v 1.13 1995-02-06 02:56:44 claus Exp $
88
81dacba7a63a *** empty log message ***
claus
parents: 77
diff changeset
    46
"
81dacba7a63a *** empty log message ***
claus
parents: 77
diff changeset
    47
!
81dacba7a63a *** empty log message ***
claus
parents: 77
diff changeset
    48
81dacba7a63a *** empty log message ***
claus
parents: 77
diff changeset
    49
documentation
81dacba7a63a *** empty log message ***
claus
parents: 77
diff changeset
    50
"
81dacba7a63a *** empty log message ***
claus
parents: 77
diff changeset
    51
    Instances of time represent a particular time-of-day.
81dacba7a63a *** empty log message ***
claus
parents: 77
diff changeset
    52
"
81dacba7a63a *** empty log message ***
claus
parents: 77
diff changeset
    53
! !
1
a27a279701f8 Initial revision
claus
parents:
diff changeset
    54
a27a279701f8 Initial revision
claus
parents:
diff changeset
    55
!Time class methodsFor:'instance creation'!
a27a279701f8 Initial revision
claus
parents:
diff changeset
    56
a27a279701f8 Initial revision
claus
parents:
diff changeset
    57
now
a27a279701f8 Initial revision
claus
parents:
diff changeset
    58
    "return an instance of Time representing this moment"
a27a279701f8 Initial revision
claus
parents:
diff changeset
    59
216
a8abff749575 *** empty log message ***
claus
parents: 159
diff changeset
    60
    ^ self fromOSTime:(OperatingSystem getTimeParts)
95
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
    61
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
    62
    "
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
    63
     Time now
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
    64
    "
62
e1b4369c61fb *** empty log message ***
claus
parents: 32
diff changeset
    65
!
e1b4369c61fb *** empty log message ***
claus
parents: 32
diff changeset
    66
239
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
    67
hour:h minutes:m seconds:s
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
    68
    "return an instance of Time representing the given values"
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
    69
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
    70
    | seconds |
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
    71
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
    72
    "have to subtract 3600; unix time starts at 1'o clock"
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
    73
    seconds := (h * 60 * 60 ) + (m * 60) + s - 3600.
62
e1b4369c61fb *** empty log message ***
claus
parents: 32
diff changeset
    74
239
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
    75
    ^ self basicNew setSeconds:seconds.
1
a27a279701f8 Initial revision
claus
parents:
diff changeset
    76
239
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
    77
    "
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
    78
     Time hour:2 minutes:33 seconds:0 
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
    79
    "
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
    80
!
1
a27a279701f8 Initial revision
claus
parents:
diff changeset
    81
239
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
    82
fromSeconds:seconds
77
6c38ca59927f *** empty log message ***
claus
parents: 62
diff changeset
    83
    "return a Time that is constructed from seconds since midnight."
6c38ca59927f *** empty log message ***
claus
parents: 62
diff changeset
    84
239
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
    85
    "have to subtract 3600; unix time starts at 1'o clock"
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
    86
   ^ self basicNew setSeconds:seconds-3600
95
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
    87
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
    88
    "
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
    89
     Time fromSeconds:0
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
    90
    "
77
6c38ca59927f *** empty log message ***
claus
parents: 62
diff changeset
    91
!
6c38ca59927f *** empty log message ***
claus
parents: 62
diff changeset
    92
239
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
    93
fromOSTime:osTime
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
    94
    "return a time, representing the time given by the operatingSystem time"
216
a8abff749575 *** empty log message ***
claus
parents: 159
diff changeset
    95
239
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
    96
    ^ self basicNew setSecondsLow:(osTime at:1) and:(osTime at:2)
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
    97
!
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
    98
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
    99
readFrom:aStream onError:exceptionBlock
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
   100
    "return a new Time, reading a printed representation from aStream."
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
   101
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
   102
    |hour min sec|
216
a8abff749575 *** empty log message ***
claus
parents: 159
diff changeset
   103
239
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
   104
    hour := Integer readFrom:aStream onError:[^ exceptionBlock value].
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
   105
    [aStream peek isDigit] whileFalse:[aStream next].
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
   106
    min := Integer readFrom:aStream onError:[^ exceptionBlock value].
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
   107
    [aStream peek isDigit] whileFalse:[aStream next].
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
   108
    sec := Integer readFrom:aStream onError:[^ exceptionBlock value].
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
   109
    [aStream peek == Character space] whileTrue:[aStream next].
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
   110
    (aStream peek == $p) ifTrue:[
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
   111
	"pm"
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
   112
	hour := hour + 12
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
   113
    ].
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
   114
    ^ self hour:hour minutes:min seconds:sec
216
a8abff749575 *** empty log message ***
claus
parents: 159
diff changeset
   115
239
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
   116
    "
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
   117
     Time readFromString:'18:22:00'    
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
   118
     Time readFromString:'14:00:11'    
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
   119
     Time readFromString:'7:00:11'     
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
   120
     Time readFromString:'6:22:00 pm'   
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
   121
     Time readFromString:'2:00:11 pm'  
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
   122
     Time readFromString:'7:00:11 am'  
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
   123
    "
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
   124
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
   125
! !
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
   126
472f810ecccf readFrom; houtr:minutes:seconds: fixed
claus
parents: 216
diff changeset
   127
!Time class methodsFor:'ST-80 compatibility'!
216
a8abff749575 *** empty log message ***
claus
parents: 159
diff changeset
   128
1
a27a279701f8 Initial revision
claus
parents:
diff changeset
   129
totalSeconds
a27a279701f8 Initial revision
claus
parents:
diff changeset
   130
    ^ self secondClock
a27a279701f8 Initial revision
claus
parents:
diff changeset
   131
! !
a27a279701f8 Initial revision
claus
parents:
diff changeset
   132
77
6c38ca59927f *** empty log message ***
claus
parents: 62
diff changeset
   133
95
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   134
!Time methodsFor:'accessing'!
77
6c38ca59927f *** empty log message ***
claus
parents: 62
diff changeset
   135
6c38ca59927f *** empty log message ***
claus
parents: 62
diff changeset
   136
asSeconds
95
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   137
    "return the number of seconds elapsed since midnight"
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   138
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   139
    OperatingSystem computeTimePartsOf:secondsLow and:secondsHi for:[
159
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
   140
	:hours :minutes :seconds |
77
6c38ca59927f *** empty log message ***
claus
parents: 62
diff changeset
   141
159
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
   142
	^ ( 3600 * hours   )
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
   143
	  + ( 60 * minutes )
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
   144
	  + seconds
95
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   145
    ]
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   146
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   147
    "
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   148
     Time now asSeconds
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   149
    "
77
6c38ca59927f *** empty log message ***
claus
parents: 62
diff changeset
   150
!
6c38ca59927f *** empty log message ***
claus
parents: 62
diff changeset
   151
6c38ca59927f *** empty log message ***
claus
parents: 62
diff changeset
   152
hours
95
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   153
    "return the number of hours since midnight (i.e. 0..23)"
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   154
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   155
    ^ self hourInDay
77
6c38ca59927f *** empty log message ***
claus
parents: 62
diff changeset
   156
95
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   157
    "
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   158
     Time now hours
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   159
    "
77
6c38ca59927f *** empty log message ***
claus
parents: 62
diff changeset
   160
!
6c38ca59927f *** empty log message ***
claus
parents: 62
diff changeset
   161
6c38ca59927f *** empty log message ***
claus
parents: 62
diff changeset
   162
minutes
95
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   163
    "return the number of minutes within the hour (i.e. 0..59)"
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   164
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   165
    ^self minuteInDay
77
6c38ca59927f *** empty log message ***
claus
parents: 62
diff changeset
   166
95
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   167
    "
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   168
     Time now minutes
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   169
    "
77
6c38ca59927f *** empty log message ***
claus
parents: 62
diff changeset
   170
!
6c38ca59927f *** empty log message ***
claus
parents: 62
diff changeset
   171
6c38ca59927f *** empty log message ***
claus
parents: 62
diff changeset
   172
seconds
95
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   173
    "return the number of seconds within the minute (i.e. 0..59)"
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   174
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   175
    ^self secondInDay
77
6c38ca59927f *** empty log message ***
claus
parents: 62
diff changeset
   176
95
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   177
    "
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   178
     Time now seconds
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   179
    "
77
6c38ca59927f *** empty log message ***
claus
parents: 62
diff changeset
   180
! !
6c38ca59927f *** empty log message ***
claus
parents: 62
diff changeset
   181
1
a27a279701f8 Initial revision
claus
parents:
diff changeset
   182
!Time methodsFor:'comparing'!
a27a279701f8 Initial revision
claus
parents:
diff changeset
   183
a27a279701f8 Initial revision
claus
parents:
diff changeset
   184
> aTime
95
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   185
    "return true if the argument, aTime is after the receiver"
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   186
159
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
   187
    (aTime respondsTo:#secondsLow) ifTrue:[
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
   188
	(secondsHi > aTime secondsHi) ifTrue:[^ true].
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
   189
	(secondsHi < aTime secondsHi) ifTrue:[^ false].
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
   190
	(secondsLow > aTime secondsLow) ifTrue:[^ true].
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
   191
	^ false
1
a27a279701f8 Initial revision
claus
parents:
diff changeset
   192
    ].
a27a279701f8 Initial revision
claus
parents:
diff changeset
   193
    ^ self getSeconds > aTime getSeconds
a27a279701f8 Initial revision
claus
parents:
diff changeset
   194
!
a27a279701f8 Initial revision
claus
parents:
diff changeset
   195
a27a279701f8 Initial revision
claus
parents:
diff changeset
   196
< aTime
95
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   197
    "return true if the argument, aTime is before the receiver"
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   198
159
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
   199
    (aTime respondsTo:#secondsLow) ifTrue:[
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
   200
	(secondsHi < aTime secondsHi) ifTrue:[^ true].
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
   201
	(secondsHi > aTime secondsHi) ifTrue:[^ false].
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
   202
	(secondsLow < aTime secondsLow) ifTrue:[^ true].
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
   203
	^ false
1
a27a279701f8 Initial revision
claus
parents:
diff changeset
   204
    ].
a27a279701f8 Initial revision
claus
parents:
diff changeset
   205
    ^ self getSeconds < aTime getSeconds
a27a279701f8 Initial revision
claus
parents:
diff changeset
   206
! !
a27a279701f8 Initial revision
claus
parents:
diff changeset
   207
95
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   208
!Time methodsFor:'printing & storing'!
1
a27a279701f8 Initial revision
claus
parents:
diff changeset
   209
62
e1b4369c61fb *** empty log message ***
claus
parents: 32
diff changeset
   210
printOn:aStream
95
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   211
    "append a printed representation of the receiver to aStream.
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   212
     Format is hh:mm:ss either in 12-hour or 24-hour format.
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   213
     depending on the setting of LanguageTerritory.
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   214
     I dont know what ST-80 does here (12-hour format ?)"
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   215
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   216
    LanguageTerritory = 'usa' ifTrue:[
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   217
	self print12HourFormatOn:aStream
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   218
    ] ifFalse:[
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   219
	self print24HourFormatOn:aStream
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   220
    ]
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   221
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   222
    "
216
a8abff749575 *** empty log message ***
claus
parents: 159
diff changeset
   223
     Time now printOn:Transcript. Transcript cr
95
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   224
    "
62
e1b4369c61fb *** empty log message ***
claus
parents: 32
diff changeset
   225
!
e1b4369c61fb *** empty log message ***
claus
parents: 32
diff changeset
   226
95
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   227
print24HourFormatOn:aStream
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   228
    "append a printed representation of the receiver to aStream.
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   229
     Format is hh:mm:ss in 24-hour format."
1
a27a279701f8 Initial revision
claus
parents:
diff changeset
   230
a27a279701f8 Initial revision
claus
parents:
diff changeset
   231
    OperatingSystem computeTimePartsOf:secondsLow and:secondsHi for:[
159
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
   232
	:hours :minutes :secs |
1
a27a279701f8 Initial revision
claus
parents:
diff changeset
   233
159
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
   234
	hours printOn:aStream.
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
   235
	aStream nextPut:$:.
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
   236
	(minutes < 10) ifTrue:[aStream nextPut:$0].
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
   237
	minutes printOn:aStream.
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
   238
	aStream nextPut:$:.
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
   239
	(secs < 10) ifTrue:[aStream nextPut:$0].
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
   240
	secs printOn:aStream
95
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   241
    ]
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   242
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   243
    "
216
a8abff749575 *** empty log message ***
claus
parents: 159
diff changeset
   244
     Time now print24HourFormatOn:Transcript. Transcript cr
95
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   245
    "
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   246
!
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   247
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   248
print12HourFormatOn:aStream
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   249
    "append a printed representation of the receiver to aStream.
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   250
     Format is hh:mm:ss am/pm (i.e. 12-hour format)."
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   251
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   252
    OperatingSystem computeTimePartsOf:secondsLow and:secondsHi for:[
159
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
   253
	:hours :minutes :secs | |h|
95
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   254
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   255
	h := hours.
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   256
	h > 12 ifTrue:[
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   257
	    h := h - 12.
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   258
	] ifFalse:[
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   259
	    h < 1 ifTrue:[
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   260
		h := 12
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   261
	    ]
159
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
   262
	].
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
   263
	h printOn:aStream.
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
   264
	aStream nextPut:$:.
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
   265
	(minutes < 10) ifTrue:[aStream nextPut:$0].
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
   266
	minutes printOn:aStream.
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
   267
	aStream nextPut:$:.
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
   268
	(secs < 10) ifTrue:[aStream nextPut:$0].
514c749165c3 *** empty log message ***
claus
parents: 95
diff changeset
   269
	secs printOn:aStream.
95
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   270
	hours >= 12 ifTrue:[
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   271
	    aStream nextPutAll:' pm'
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   272
	] ifFalse:[
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   273
	    aStream nextPutAll:' am'
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   274
	]
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   275
    ]
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   276
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   277
    "
216
a8abff749575 *** empty log message ***
claus
parents: 159
diff changeset
   278
     Time now print12HourFormatOn:Transcript. Transcript cr
95
d22739a0c6e9 *** empty log message ***
claus
parents: 88
diff changeset
   279
    "
1
a27a279701f8 Initial revision
claus
parents:
diff changeset
   280
! !