Parse and validate the date string. Give an appropriate error when the string is invalid. Update all dates in internal.