Member 10481218 Ответов: 3

Как преобразовать строковую дату в формат даты ?


Как я могу преобразовать этот формат "Пт 31 января 2014 00: 00: 00 GMT-0800 (Тихоокеанское стандартное время)" только в 2014-01-31 в c#

Что я уже пробовал:

Как я могу преобразовать этот формат "Пт 31 января 2014 00: 00: 00 GMT-0800 (Тихоокеанское стандартное время)" только в 2014-01-31 в c#

3 Ответов

Рейтинг:
2

OriginalGriff

Преобразуйте его в дату и время:

string date = "Fri Jan 31 2014 00:00:00 GMT-0800 (Pacific Standard Time)";
date = date.Substring(0, 25) + date.Substring(28, 3) + ":" + date.Substring(31, 2);
DateTime dt;
if (!DateTime.TryParseExact(date, "ddd MMM dd yyyy hh:mm:ss zzz",CultureInfo.InvariantCulture, DateTimeStyles.AllowWhiteSpaces, out dt))
    {
    // ... report problem
    return;
    }
dt = dt.Date;


Рейтинг:
0

F-ES Sitecore

string text = "Fri Jan 31 2014 00:00:00 GMT-0800 (Pacific Standard Time)";
text = text.Substring(0, text.IndexOf(" GMT"));
DateTime dt;

DateTime.TryParseExact(text, "ddd MMM d yyyy hh:mm:ss", CultureInfo.CurrentCulture, DateTimeStyles.None, out dt);

// this has the output in your desired format.  Note that DateTime variables don't
// have formats, dates only gain a format when you convert to a string so you can't
// store a date in a DateTime variable as a given format
string dateAsText = dt.ToString("yyyy-MM-dd");


Рейтинг:
0

Jochen Arndt

Используйте один из Структура DateTime (Система)[^] метод преобразования Parse, ParseExact, TryParse, или TryParseExact для преобразования строки в DateTime.

Используйте точный метод, если вы знаете, что входные данные всегда находятся в определенном формате. Строка формата для вашей даты

Fri Jan 31 2014 00:00:00 GMT-0800 (Pacific Standard Time)
это (непроверенных) "ДДД МММ ДД гггг чч:мм:СС 'мск'zzz ".

Вы можете удалить имя часового пояса из строки перед синтаксическим анализом.

То DateTime затем объект может быть преобразован обратно в строку с помощью ToString с требуемым форматом вывода ("гггг-ММ-ДД").