Создать формат даты и времени для XML - PullRequest
21 голосов
/ 11 июня 2011

Я пытаюсь сгенерировать метку времени для cXML, как показано ниже.Есть ли какая-либо функция в C #, которую я могу использовать для форматирования даты и времени: 2011-06-09T16: 37: 17 + 16: 37

например,

<cXML payloadID="accountsuser@bla.com"
timestamp="2011-06-09T16:37:17+16:37">

Ответы [ 4 ]

39 голосов
/ 11 июня 2011

Используйте спецификатор формата "o" - об этом читайте в стандартных строках формата даты и времени документации на MSDN.

Шаблон для этого спецификатора отражает определенный стандарт (ISO 8601).

И

6/15/2009 13:45:30 -> 2009-06-15T13: 45: 30.0900000

string formatted = DateTime.Now.ToString("o");

Если это не то, что вам нужно, вам нужно будет использовать строку пользовательского формата - я думаю, вам нужно будет это сделать, поскольку смещение не является стандартным.

string formatted = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ssK");
7 голосов
/ 11 июня 2011

Да, используя DateTime.ToString("s"), см. Эту ссылку: Стандартные строки формата даты и времени .Имейте в виду, что "s" не включает информацию о часовом поясе, тогда как "o" включает и доли секунды, и часовой пояс.

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

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

Ниже приведен пример объявления даты в схеме:

<xs:element name="start" type="xs:date"/>

Элемент в вашем документе может выглядеть так:

<start>2002-09-24</start>

Чтобы указать часовой пояс, вы можете ввести дату в формате UTC, добавив «Z» после даты:

<start>2002-09-24Z</start>

или вы можете указать смещение от времени UTC, добавив положительное или отрицательное время после даты:

<start>2002-09-24-06:00</start>

или

<start>2002-09-24+06:00</start>
0 голосов
/ 11 июня 2011

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

DateTime time = DateTime.Now;              
string format = "MMM ddd d HH:mm yyyy";   // or any format you want  
Console.WriteLine(time.ToString(format));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...