I suggest that instead of two string arguments, you use a single string argument containing an ISO 8601 style date with optional time:


Note that T is a literal uppercase #\T, and that the fractional second is optional.  Most languages have libraries to parse this format.

John Cowan          http://vrici.lojban.org/~cowan        xxxxxx@ccil.org
Assent may be registered by a signature, a handshake, or a click of a computer
mouse transmitted across the invisible ether of the Internet. Formality
is not a requisite; any sign, symbol or action, or even willful inaction,
as long as it is unequivocally referable to the promise, may create a contract.
       --Specht v. Netscape