(.module: [library [lux "*" [abstract [equivalence {"+" [Equivalence]}] [monad {"+" [do]}]] [control ["[0]" exception {"+" [exception:]}] ["<>" parser ["<[0]>" text] ["<[0]>" xml {"+" [Parser]}]]] [data [text ["%" format]] [format ["[0]" xml {"+" [XML]}]]] [time ["[0]" instant {"+" [Instant]}]]]] ["[0]" /// "_" ["[1][0]" time ["[1]/[0]" date] ["[1]/[0]" time]]]) (type: .public Time ///time.Time) (def: .public equivalence (Equivalence Time) ///time.equivalence) (def: separator ".") (def: .public (format [date time]) (%.Format Time) (%.format (///time/date.format date) ..separator (///time/time.format time))) (def: .public parser (.Parser Time) (do <>.monad [date ///time/date.parser _ (.this ..separator) time ///time/time.parser] (in [date time])))