USING: calendar kernel math math.functions math.parser sequences ; IN: 9time : insert-between ( str joiner -- str' ) [ [ 1string ] { } map-as ] dip join ; : (nine-time) ( date -- 9time ) now swap time- duration>seconds 1/6 * ! 2 nhrs = 12 hrs (seconds are different) all the rest is multiples of 9 floor 9 >base [ string>number ] [ length "1" concat string>number ] bi + number>string ":" insert-between ; : nine-time ( -- ) 1992 5 13 (nine-time) . ;