Timestamp ( date ; time ).
The Timestamp function returns different results when parameters are empty.
If a valid date is provided and time is empty the function returns an empty string.
If a valid time is provided and the date is empty or zero the function returns a question mark.
If the date and the time are empty the function returns an empty string.
The workaround for this is to ensure that the parameters presented to the function is never empty. The data is tested and if it is missing, we can supply the minimum value instead. For Date, the minimum value is 1. For Time, the minimum value is 0. I think the function should be performing the substitution automatically.