A factory for DateTime objects with checks for valid DateTime string