AbstractTime.st
changeset 6419 5cf00f5e656d
parent 6172 a3c88ea5efe9
child 6795 519894240d97
--- a/AbstractTime.st	Tue Feb 26 12:01:27 2002 +0100
+++ b/AbstractTime.st	Tue Feb 26 12:34:29 2002 +0100
@@ -274,6 +274,72 @@
     "
 ! !
 
+!AbstractTime methodsFor:'Compatibility - ANSI'!
+
+hour12
+    "return the hour (1..12)."
+
+    ^ self hours - 1 \\ 12 + 1.
+
+    "
+     Time now hour12   
+     Time now hour24   
+     (Time hours:0 minutes:0 seconds:0) hour24   
+     (Time hours:0 minutes:0 seconds:0) hour12   
+     (Time hours:1 minutes:0 seconds:0) hour24   
+     (Time hours:1 minutes:0 seconds:0) hour12   
+     (Time hours:12 minutes:0 seconds:0) hour24 
+     (Time hours:12 minutes:0 seconds:0) hour12   
+     (Time hours:13 minutes:0 seconds:0) hour24 
+     (Time hours:13 minutes:0 seconds:0) hour12   
+     (Time hours:23 minutes:0 seconds:0) hour24 
+     (Time hours:23 minutes:0 seconds:0) hour12   
+     (Time hours:24 minutes:0 seconds:0) hour24 
+     (Time hours:24 minutes:0 seconds:0) hour12   
+    "
+!
+
+hour24
+    "return the hour (0..23)."
+
+    ^ self hours
+
+    "
+     Time now hour12   
+     Time now hour24   
+     (Time hours:0 minutes:0 seconds:0) hour24 
+     (Time hours:0 minutes:0 seconds:0) hour12 
+     (Time hours:1 minutes:0 seconds:0) hour24 
+     (Time hours:1 minutes:0 seconds:0) hour12 
+     (Time hours:12 minutes:0 seconds:0) hour24 
+     (Time hours:12 minutes:0 seconds:0) hour12 
+     (Time hours:13 minutes:0 seconds:0) hour24 
+     (Time hours:13 minutes:0 seconds:0) hour12 
+     (Time hours:23 minutes:0 seconds:0) hour24 
+     (Time hours:23 minutes:0 seconds:0) hour12 
+     (Time hours:24 minutes:0 seconds:0) hour24 
+     (Time hours:24 minutes:0 seconds:0) hour12 
+    "
+!
+
+meridianAbbreviation
+    "am/pm"
+
+    self hours // 12 == 0 ifTrue:[
+        ^ 'am'.
+    ] ifFalse:[
+        ^ 'pm'.
+    ].
+
+    "
+     Time now meridianAbbreviation   
+     (Time hours:0 minutes:0 seconds:0) meridianAbbreviation  
+     (Time hours:11 minutes:59 seconds:59) meridianAbbreviation  
+     (Time hours:12 minutes:0 seconds:0) meridianAbbreviation    
+     (Time hours:12 minutes:0 seconds:1) meridianAbbreviation  
+    "
+! !
+
 !AbstractTime methodsFor:'abstract'!
 
 hours
@@ -657,15 +723,8 @@
     zone := self timeZoneName.
     tzDelta := self timeZoneDeltaInMinutes.
 
-    hours // 12 == 0 ifTrue:[
-        ampm := 'am'.
-    ] ifFalse:[
-        ampm := 'pm'.
-    ].
-    usHours := hours.
-    usHours ~~ 0 ifTrue:[
-        usHours := usHours - 1 \\ 12 + 1.
-    ].
+    ampm := self meridianAbbreviation.
+    usHours := self hour12.
 
     aDictionary at:$H put:(s := hours printString).
     aDictionary at:$h put:(s leftPaddedTo:2 with:$0).
@@ -887,5 +946,5 @@
 !AbstractTime class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/AbstractTime.st,v 1.34 2001-11-09 15:18:46 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/AbstractTime.st,v 1.35 2002-02-26 11:34:25 cg Exp $'
 ! !