--- a/AbstractTime.st Mon Dec 20 14:10:21 2010 +0100
+++ b/AbstractTime.st Mon Dec 20 14:34:54 2010 +0100
@@ -864,7 +864,8 @@
addPrintBindingsTo:aDictionary language:languageOrNil
"private print support: add bindings for printing to aDictionary.
- languageOrNil can only be #en or nil for the current language.
+ languageOrNil can be #en, #fr, #de or nil for the current language.
+
bindings:
%h hours, 00..23 (i.e. european) 0-padded to length 2
%u hours, 00..12 (i.e. us) 0-padded to length 2
@@ -891,19 +892,36 @@
%(TZD) timeZone delta from UTC in the format +/-hh:mm
- %milli1 milliseconds, truncated to 1/10th of a second 0..9
- %milli2 milliseconds, truncated to 1/100th of a second 00..99 0-padded to length 2
-
- %nth - counting day-in-month (1->'st'; 2->'nd'; 3->'rd'; 4...->'th')
- %weekDayNth - counting day-in-week (1->'st'; 2->'nd'; 3->'rd'; 4...->'th')
- %weekNth - counting week-in-year (1->'st'; 2->'nd'; 3->'rd'; 4...->'th')
+ %(milli1) milliseconds, truncated to 1/10th of a second 0..9
+ %(milli2) milliseconds, truncated to 1/100th of a second 00..99 0-padded to length 2
Timestamp only:
- %Day day - unpadded
- %Month month - unpadded
- %(yearOrTime) year or time 5 digits as in unix-ls:
- year if it is not the current year;
- time otherwise
+ %(Day) - day - unpadded
+ %(Month) - month - unpadded
+ %(yearOrTime) - year or time 5 digits as in unix-ls:
+ year if it is not the current year;
+ time otherwise
+ %(weekDay) - day in week (1->monday, 2->tuesday, ... ,7->sunday)
+
+ %(dayName) - full day name
+ %(DayName) - full day name, first character uppercase
+ %(DAYNAME) - full day name, all uppercase
+
+ %(monthName) - full month name
+ %(MonthName) - full month name, first character uppercase
+ %(MONTHNAME) - full month name, all uppercase
+
+ %(shortDayName) - short (abbreviated) day name
+ %(ShortDayName) - short (abbreviated) day name, first character uppercase
+ %(SHORTDAYNAME) - short (abbreviated) day name, all uppercase
+
+ %(shortMonthName) - short (abbreviated) month name
+ %(ShortMonthName) - short (abbreviated) month name, first character uppercase
+ %(SHORTMONTHNAME) - short (abbreviated) month name, all uppercase
+
+ %(nth) - counting day-in-month (1->'st'; 2->'nd'; 3->'rd'; 4...->'th')
+ %(weekDayNth) - counting day-in-week (1->'st'; 2->'nd'; 3->'rd'; 4...->'th')
+ %(weekNth) - counting week-in-year (1->'st'; 2->'nd'; 3->'rd'; 4...->'th')
The ISO8601 printString are generated with:
@@ -989,84 +1007,9 @@
printOn:aStream format:aFormatString
"print using a format string;
- valid format items are:
- %h hours, 00..23 (i.e. european) 0-padded to length 2
- %u hours, 00..12 (i.e. us) 0-padded to length 2
- %m minutes, 00..59 0-padded to length 2
- %s seconds, 00..59 0-padded to length 2
- %i milliseconds, 000..999 0-padded to length 3
- %a am/pm
-
- Timestamp only:
- %(day) day, 00..31 0-padded to length 2
- %(month) month, 00..12 0-padded to length 2
- %(year) year, 4 digits 0-padded to length 4
-
- special:
- %H 24-hours - unpadded
- %U 12-hours - unpadded
- %M minutes - unpadded
- %S seconds - unpadded
- %I milliseconds, unpadded
- %A AM/PM - uppercase
-
- %t seconds within hour (unpadded)
- %T seconds from midNight (unpadded)
-
- %(TZD) timeZone delta from UTC in the format +/-hh:mm
-
- %milli1 milliseconds, truncated to 1/10th of a second 0..9
- %milli2 milliseconds, truncated to 1/100th of a second 00..99 0-padded to length 2
-
- %nth - counting day-in-month (1->'st'; 2->'nd'; 3->'rd'; 4...->'th')
- %weekDayNth - counting day-in-week (1->'st'; 2->'nd'; 3->'rd'; 4...->'th')
- %weekNth - counting week-in-year (1->'st'; 2->'nd'; 3->'rd'; 4...->'th')
+ See #addPrintBindingsTo:language: for allowed format strings"
- Timestamp only:
- %Day day - unpadded
- %Month month - unpadded
- %(yearOrTime) year or time 5 digits as in unix-ls:
- year if it is not the current year;
- time otherwise
-
-
- The ISO8601 printString are generated with:
-
- Year:
- YYYY (eg 1997)
- Date today printStringFormat:'%(year)'
- Timestamp now printStringFormat:'%(year)'
-
- Year and month:
- YYYY-MM (eg 1997-07)
- Date today printStringFormat:'%(year)-%(month)'
- Timestamp now printStringFormat:'%(year)-%(month)'
-
- Complete date:
- YYYY-MM-DD (eg 1997-07-16)
- Date today printStringFormat:'%(year)-%(month)-%(day)'
- Timestamp now printStringFormat:'%(year)-%(month)-%(day)'
-
- Complete date plus hours and minutes:
- YYYY-MM-DDThh:mmTZD (eg 1997-07-16T19:20+01:00)
- Timestamp now printStringFormat:'%(year)-%(month)-%(day)T%h:%m%(TZD)'
-
- Complete date plus hours, minutes and seconds:
- YYYY-MM-DDThh:mm:ssTZD (eg 1997-07-16T19:20:30+01:00)
- Timestamp now printStringFormat:'%(year)-%(month)-%(day)T%h:%m:%s%(TZD)'
-
- Complete date plus hours, minutes, seconds and a decimal fraction of a second
- YYYY-MM-DDThh:mm:ss.sTZD (eg 1997-07-16T19:20:30.45+01:00)
- Timestamp now printStringFormat:'%(year)-%(month)-%(day)T%h:%m:%s.%(milli2)%(TZD)'
-
- "
-
- |dict|
-
- dict := IdentityDictionary new.
- self addPrintBindingsTo:dict.
-
- aFormatString expandPlaceholdersWith:dict on:aStream
+ self printOn:aStream format:aFormatString language:nil.
"
Timestamp now printOn:Transcript format:'%h:%m:%s' . Transcript cr.
@@ -1083,77 +1026,7 @@
printOn:aStream format:aFormatString language:languageString
"print using a format string;
- valid format items are:
- %h hours, 00..23 (i.e. european) 0-padded to length 2
- %u hours, 00..12 (i.e. us) 0-padded to length 2
- %m minutes, 00..59 0-padded to length 2
- %s seconds, 00..59 0-padded to length 2
- %i milliseconds, 000..999 0-padded to length 3
- %a am/pm
-
- Timestamp only:
- %(day) day, 00..31 0-padded to length 2
- %(month) month, 00..12 0-padded to length 2
- %(year) year, 4 digits 0-padded to length 4
-
- special:
- %H 24-hours - unpadded
- %U 12-hours - unpadded
- %M minutes - unpadded
- %S seconds - unpadded
- %I milliseconds, unpadded
- %A AM/PM - uppercase
-
- %t seconds within hour (unpadded)
- %T seconds from midNight (unpadded)
-
- %(TZD) timeZone delta from UTC in the format +/-hh:mm
-
- %milli1 milliseconds, truncated to 1/10th of a second 0..9
- %milli2 milliseconds, truncated to 1/100th of a second 00..99 0-padded to length 2
-
- %nth - counting day-in-month (1->'st'; 2->'nd'; 3->'rd'; 4...->'th')
- %weekDayNth - counting day-in-week (1->'st'; 2->'nd'; 3->'rd'; 4...->'th')
- %weekNth - counting week-in-year (1->'st'; 2->'nd'; 3->'rd'; 4...->'th')
-
- Timestamp only:
- %Day day - unpadded
- %Month month - unpadded
- %(yearOrTime) year or time 5 digits as in unix-ls:
- year if it is not the current year;
- time otherwise
-
-
- The ISO8601 printString are generated with:
-
- Year:
- YYYY (eg 1997)
- Date today printStringFormat:'%(year)'
- Timestamp now printStringFormat:'%(year)'
-
- Year and month:
- YYYY-MM (eg 1997-07)
- Date today printStringFormat:'%(year)-%(month)'
- Timestamp now printStringFormat:'%(year)-%(month)'
-
- Complete date:
- YYYY-MM-DD (eg 1997-07-16)
- Date today printStringFormat:'%(year)-%(month)-%(day)'
- Timestamp now printStringFormat:'%(year)-%(month)-%(day)'
-
- Complete date plus hours and minutes:
- YYYY-MM-DDThh:mmTZD (eg 1997-07-16T19:20+01:00)
- Timestamp now printStringFormat:'%(year)-%(month)-%(day)T%h:%m%(TZD)'
-
- Complete date plus hours, minutes and seconds:
- YYYY-MM-DDThh:mm:ssTZD (eg 1997-07-16T19:20:30+01:00)
- Timestamp now printStringFormat:'%(year)-%(month)-%(day)T%h:%m:%s%(TZD)'
-
- Complete date plus hours, minutes, seconds and a decimal fraction of a second
- YYYY-MM-DDThh:mm:ss.sTZD (eg 1997-07-16T19:20:30.45+01:00)
- Timestamp now printStringFormat:'%(year)-%(month)-%(day)T%h:%m:%s.%(milli2)%(TZD)'
-
- "
+ See #addPrintBindingsTo:language: for allowed format strings"
|dict|
@@ -1176,13 +1049,10 @@
!
printStringFormat:aFormatString
- "print using a format string - see #printOn:format:"
-
- |s|
+ "print using a format string.
+ See #addPrintBindingsTo:language: for allowed format strings"
- s := WriteStream on:(String new:20).
- self printOn:s format:aFormatString.
- ^ s contents.
+ ^ self printStringFormat:aFormatString language:nil.
"
Timestamp now printStringFormat:'%U:%m:%s %a'
@@ -1209,7 +1079,8 @@
!
printStringFormat:aFormatString language:languageString
- "print using a format string - see #printOn:format:"
+ "print using a format string.
+ See #addPrintBindingsTo:language: for allowed format strings"
|s|
@@ -1228,7 +1099,9 @@
Timestamp now printStringFormat:'%H:%m:%s.%(milli1)'
Timestamp now printStringFormat:'%H:%m:%s.%(milli2)'
Timestamp now printStringFormat:'%(day)-%(month)-%(year) :%m:%s'
- Timestamp now printStringFormat:'%(day)-%(monthName)-%(year) :%m:%s'
+ Timestamp now printStringFormat:'%(day)-%(monthName)-%(year) :%m:%s' language:#en
+ Timestamp now printStringFormat:'%(day)-%(monthName)-%(year) :%m:%s' language:#de
+ Timestamp now printStringFormat:'%(day)-%(monthName)-%(year) :%m:%s' language:#fr
Time now printStringFormat:'%u:%m:%s %a'
Time now printStringFormat:'%h:%m'
Time now printStringFormat:'%h:%m'
@@ -1290,9 +1163,9 @@
!AbstractTime class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/AbstractTime.st,v 1.71 2010-09-29 09:15:08 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/AbstractTime.st,v 1.72 2010-12-20 13:34:54 stefan Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/AbstractTime.st,v 1.71 2010-09-29 09:15:08 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/AbstractTime.st,v 1.72 2010-12-20 13:34:54 stefan Exp $'
! !