This might be a culture problem Try Converting using those 2 options result = Left(Convert.ToString(CDate(pstr), New CultureInfo("ja-JP")), 10) or if your date in Dd/MM/YYYY format then try using very basic method like result = Strings.Right(pstr, 4) & "-" & Strings.Right(Strings.Left(pstr, 5), 2) & "-" & Strings.Left(pstr, 2)