Ответ 1
Если у вас уже есть DateTime
, используйте:
string x = dt.ToString("yyyy-MM-dd");
Подробнее см. документацию MSDN. Вы можете указать CultureInfo.InvariantCulture
для принудительного использования западных цифр и т.д. Это более важно, если вы используете MMM для имени месяца и подобных вещей, но было бы неплохо сделать это явным:
string x = dt.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture);
Если у вас есть строка для начала, вам нужно проанализировать ее, а затем переформатировать... конечно, это означает, что вам нужно знать формат исходной строки.