This closes #4939
On some locales, odd strings would parse as valid full dates, causing relative dates to be incorrectly calculated. This commit fixes the issues and revisits the DST aware calculations with more tests.