TYPED: timestamp>hms ( timestamp: timestamp -- str )\r
[ (timestamp>hms) ] with-string-writer ;\r
\r
+: (timestamp>hm) ( timestamp -- )\r
+ { hh ":" mm } formatted ;\r
+\r
+TYPED: timestamp>hm ( timestamp: timestamp -- str )\r
+ [ (timestamp>hm) ] with-string-writer ;\r
+\r
TYPED: timestamp>ymdhms ( timestamp: timestamp -- str )\r
[\r
>gmt\r
] with-string-writer ;\r
\r
M: timestamp present timestamp>string ;\r
+\r
+TYPED: duration>hm ( duration: duration -- string )\r
+ [ duration>hours >integer 24 mod pad-00 ]\r
+ [ duration>minutes >integer 60 mod pad-00 ] bi ":" glue ;\r
+\r
+TYPED: duration>human-readable ( duration: duration -- string )\r
+ [\r
+ [\r
+ duration>years >integer\r
+ [\r
+ [ number>string write ]\r
+ [ 1 > " years, " " year, " ? write ] bi\r
+ ] unless-zero\r
+ ] [\r
+ duration>days >integer 365 mod\r
+ [\r
+ [ number>string write ]\r
+ [ 1 > " days, " " day, " ? write ] bi\r
+ ] unless-zero\r
+ ] [ duration>hm write ] tri\r
+ ] with-string-writer ;\r