Как создать удобочитаемую дату и время из строки? - PullRequest
3 голосов
/ 14 июня 2011

Я использую API, который возвращает дату в виде строки, например:

2011-06-13T21: 15: 19Z

Как вы понимаете, это не самый простой для понимания формат. Моя цель - заставить его отформатировать так:

9: 15.00 - 13.06.2011

Кто-нибудь знает, как этого добиться? Нужно ли использовать регулярное выражение или есть способ преобразовать это в DateTime?

ПРИМЕЧАНИЕ: Я пытался использовать метод DateTime.ParseExact, но он не работал. Если это решение, не могли бы вы показать мне, как преобразовать приведенный выше пример. Спасибо.

Ответы [ 6 ]

3 голосов
/ 14 июня 2011

Я только что попробовал это с TryParse, и это сработало. Использование try parse лучше, чем parse, потому что вы можете обрабатывать случаи, когда строка не анализировалась. Если вы уверены, что передаваемая строка статична, то, думаю, в этом нет необходимости.

        string Time = "2011-06-13T21:15:19Z";

        DateTime t;
        if (DateTime.TryParse(Time, out t)) 
        {
            //Works
        }
3 голосов
/ 14 июня 2011
string date = "2011-06-13T21:15:19Z";
DateTime dt = DateTime.Parse(date);
2 голосов
/ 14 июня 2011

DateTime.Parse, кажется, отлично работает для этой строки:

var dt = DateTime.Parse("2011-06-13T21:15:19Z");
Console.WriteLine(dt.ToString("h:mmtt - M/d/yyyy"));

РЕДАКТИРОВАТЬ

Если вы хотите получить отформатированную строку, чтобы она выглядела именно так, как онав вашем вопросе, просто наберите ToLower():

Console.WriteLine(dt.ToString("h:mmtt - M/d/yyyy").ToLower());

Кроме того, все параметры форматирования строки даты и времени можно найти здесь:http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

1 голос
/ 14 июня 2011

Использовать DateTime.Parse.

void Main()
{
    var date = DateTime.Parse("2011-06-13T21:15:19Z");
    Console.WriteLine(date);
}
1 голос
/ 14 июня 2011

DateTime.Parse должен работать с этими строками даты ISO 8601.

0 голосов
/ 14 июня 2011

Строка формата, которую вы ищете: "hh:mmtt \- M/d/yyyy".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...