[WIP] Fix duplicate date functions. Implements #10220

Do not merge. Pending feedback on solution.

@MorrisJobke 
Seems to be like a timezone f**kup

`Expected 'December 31, 1969 19:00' to equal 'January 1, 1970 0:00'.`