Refactor: Extract rules for date and time

A moment is a date/time pair.