Skip to content

Commit 45e148a

Browse files
committed
Add ISO8601 printer to "traits time".
1 parent 182cc44 commit 45e148a

File tree

1 file changed

+36
-6
lines changed

1 file changed

+36
-6
lines changed

objects/core/time.self

Lines changed: 36 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
'Sun-$Revision: 30.10 $'
1+
'30.11.0'
22
'
3-
Copyright 1992-2012 AUTHORS.
4-
See the LICENSE file for license information.
3+
Copyright 1992-2016 AUTHORS.
4+
See the legal/LICENSE file for license information and legal/AUTHORS for authors.
55
'
6+
["preFileIn" self] value
67

78

89
'-- Module body'
@@ -47,9 +48,9 @@ SlotsToOmit: directory fileInTimeString myComment postFileIn revision subpartNam
4748
} | )
4849

4950
bootstrap addSlotsTo: bootstrap stub -> 'globals' -> 'modules' -> 'time' -> () From: ( | {
50-
'ModuleInfo: Module: time InitialContents: FollowSlot\x7fVisibility: public'
51+
'ModuleInfo: Module: time InitialContents: InitializeToExpression: (\'30.11.0\')\x7fVisibility: public'
5152

52-
revision <- 'Sun-$Revision: 30.10 $'.
53+
revision <- '30.11.0'.
5354
} | )
5455

5556
bootstrap addSlotsTo: bootstrap stub -> 'globals' -> 'modules' -> 'time' -> () From: ( | {
@@ -70,7 +71,7 @@ SlotsToOmit: directory fileInTimeString myComment postFileIn revision subpartNam
7071
bootstrap addSlotsTo: bootstrap stub -> 'globals' -> 'time' -> () From: ( | {
7172
'Comment: Non-nil when valid.\x7fModuleInfo: Module: time InitialContents: InitializeToExpression: (nil)\x7fVisibility: private'
7273

73-
dateTime0.
74+
dateTime0 <- bootstrap stub -> 'globals' -> 'nil' -> ().
7475
} | )
7576

7677
bootstrap addSlotsTo: bootstrap stub -> 'globals' -> 'time' -> () From: ( | {
@@ -663,6 +664,35 @@ SlotsToOmit: directory fileInTimeString myComment postFileIn revision subpartNam
663664
str <- ''.
664665
} | )
665666

667+
bootstrap addSlotsTo: bootstrap stub -> 'traits' -> 'time' -> () From: ( | {
668+
'Category: printing\x7fCategory: local time\x7fModuleInfo: Module: time InitialContents: FollowSlot\x7fVisibility: public'
669+
670+
printISO8601String = ( |
671+
|
672+
year printString, '-',
673+
(month printStringPadWith0ToSize: 2), '-',
674+
(date printStringPadWith0ToSize: 2),
675+
'T',
676+
(hour printStringPadWith0ToSize: 2), ':',
677+
(minute printStringPadWith0ToSize: 2), ':',
678+
(second printStringPadWith0ToSize: 2)).
679+
} | )
680+
681+
bootstrap addSlotsTo: bootstrap stub -> 'traits' -> 'time' -> () From: ( | {
682+
'Category: printing\x7fCategory: GMT\x7fModuleInfo: Module: time InitialContents: FollowSlot\x7fVisibility: public'
683+
684+
printISO8601StringGMT = ( |
685+
|
686+
yearGMT printString, '-',
687+
(monthGMT printStringPadWith0ToSize: 2), '-',
688+
(dateGMT printStringPadWith0ToSize: 2),
689+
'T',
690+
(hourGMT printStringPadWith0ToSize: 2), ':',
691+
(minuteGMT printStringPadWith0ToSize: 2), ':',
692+
(secondGMT printStringPadWith0ToSize: 2),
693+
'Z').
694+
} | )
695+
666696
bootstrap addSlotsTo: bootstrap stub -> 'traits' -> 'time' -> () From: ( | {
667697
'Category: printing\x7fCategory: local time\x7fModuleInfo: Module: time InitialContents: FollowSlot\x7fVisibility: public'
668698

0 commit comments

Comments
 (0)