factor out UTC/solar-time conversions