\r
: read-rfc3339-gmt-offset ( ch -- dt )\r
dup CHAR: Z = [ drop instant ] [\r
- >r\r
- read-00 hours\r
- read1 { { CHAR: : [ read-00 ] } { f [ 0 ] } } case minutes\r
- time+\r
- r> signed-gmt-offset\r
+ [\r
+ read-00 hours\r
+ read1 { { CHAR: : [ read-00 ] } { f [ 0 ] } } case minutes\r
+ time+\r
+ ] dip signed-gmt-offset\r
] if ;\r
\r
: read-ymd ( -- y m d )\r
read-00 ":" expect read-00 ":" expect read-00 ;\r
\r
: read-rfc3339-seconds ( s -- s' ch )\r
- "+-Z" read-until >r\r
- [ string>number ] [ length 10 swap ^ ] bi / + r> ;\r
+ "+-Z" read-until [\r
+ [ string>number ] [ length 10 swap ^ ] bi / +\r
+ ] dip ;\r
\r
: (rfc3339>timestamp) ( -- timestamp )\r
read-ymd\r
\r
: parse-rfc822-gmt-offset ( string -- dt )\r
dup "GMT" = [ drop instant ] [\r
- unclip >r\r
- 2 cut [ string>number ] bi@ [ hours ] [ minutes ] bi* time+\r
- r> signed-gmt-offset\r
+ unclip [ \r
+ 2 cut [ string>number ] bi@ [ hours ] [ minutes ] bi* time+\r
+ ] dip signed-gmt-offset\r
] if ;\r
\r
: (rfc822>timestamp) ( -- timestamp )\r