Разбор строки в формате "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");