format
Format time as HH:mm:ss, appending .nnnnnnnnn only when SimpleTime.nanosecond is non-zero, so whole-second payloads stay compact.
Examples: "09:30:00", "23:59:59.123456789", "00:00:00.000000007".
No range check, pass any SimpleTime and the result reflects it. A value outside the ranges parse accepts will not round-trip.