Разбор строки в формате "year-month-day" в С#

Im, используя веб-сервис, которому требуется дата-время в следующем формате "2010-12-24"

У меня есть строка для синтаксического анализа одним и тем же способом, но, как сказано, это строка.

string myDate = "2010-12-24";

Как я могу разобрать его так, чтобы он получил тот же формат?

Попробовали использовать: DateTime.Parse(mystring);

но это дает мне формат, разделенный двоеточиями.

Ответы

Ответ 1

Используйте DateTime.ParseExact, предоставляя строку пользовательского формата:

DateTime.ParseExact(mystring, "yyyy-MM-dd", CultureInfo.InvariantCulture)

Это вызовет исключение, если входная строка не может быть проанализирована - вы можете использовать DateTime.TryParseExact, который вернет true, если будет успешным.

Ответ 2

Вы можете использовать

ToString( formatString )

Например: - dateTimeObj.ToString( "yyyy-MM-dd" ); Где DateTimeObj - ваш объект DateTime

Ответ 3

DateTime time = DateTime.Now;
string format = "yyyy-M-d";
Console.WriteLine(time.ToString(format));

Ответ 4

Наиболее эффективным способом является использование DateTime.TryParseExact():

DateTime result;
if (DateTime.TryParseExact(input, "yyyy-MM-dd", CultureInfo.CurrentCulture, DateTimeStyles.None, out result))
{
    // use result
}

Ответ 5

Попробуйте следующее:

date.ToString("yyyy-MM-dd");