Добавить в цитаты Настройки чтения

Страница 391 из 502

Таблица 22.7. Спецификаторы формата даты и времени

Спецификатор

Формат

D

Дата в длинной форме

d

Дата в краткой форме

F

Дата и время в длинной форме

f

Дата и время в краткой форме

G

Дата — в краткой форме, время — в длинной

gg

Дата и время — в краткой форме

M

Месяц и день

m

То же, что и M

O

Формат даты и времени, включая часовой пояс. Строка, составленная в формате O, может быть преобразована обратно в эквивалентную форму вывода даты и времени. Это так называемый “круговой” формат

о

То же, что и о

R

Дата и время в стандартной форме по Гринвичу

г

То же, что и R

s

Сортируемый формат представления даты и времени

T

Время в длинной форме

t

Время в краткой форме

U

Длинная форма универсального представления даты и времени; время отображается как универсальное синхронизированное время (UTC)

u

Краткая форма универсального представления даты и времени

Y

Месяц и год

y

То же, что и Y

В приведенном ниже примере программы демонстрируется применение спецификаторов формата даты и времени.

<b>// Отформатировать дату и время, используя стандартные форматы,</b>

<b>using System;</b>

<b>class TimeAndDateFormatDemo {</b>

<b>  static void Main() {</b>

<b>    DateTime dt = DateTime.Now; // получить текущее время</b>

<b>    Console.WriteLine(&quot;Формат d: {0:d}&quot;, dt);</b>

<b>    Console.WriteLine(&quot;Формат D: {0:D}&quot;, dt);</b>

<b>    Console.WriteLine(&quot;Формат t: {0:t}&quot;, dt) ;</b>

<b>    Console.WriteLine(&quot;Формат'T: {0:T}&quot;, dt);</b>

<b>    Console.WriteLine(&quot;Формат f: {0:f}&quot;, dt);</b>

<b>    Console.WriteLine(&quot;Формат F: {0:F}&quot;, dt);</b>

<b>    Console.WriteLine(&quot;Формат g: {0:g}&quot;, dt);</b>

<b>    Console.WriteLine(&quot;Формат G: {0:G}&quot;, dt);</b>

<b>    Console.WriteLine(&quot;Формат m: {0:m}&quot;, dt);</b>

<b>    Console.WriteLine(&quot;Формат M: {0:M}&quot;, dt);</b>

<b>    Console.WriteLine(&quot;Формат о: {0:o}&quot;, dt);</b>

<b>    Console.WriteLine(&quot;Формат O: {0:O}&quot;, dt);</b>

<b>    Console.WriteLine(&quot;Формат r: {0:r}&quot;, dt);</b>

<b>    Console.WriteLine(&quot;Формат R: {0:R}&quot;, dt);</b>

<b>    Console.WriteLine(&quot;Формат s: {0:s}&quot;, dt);</b>

<b>    Console.WriteLine(&quot;Формат u: {0:u}&quot;, dt);</b>

<b>    Console.WriteLine(&quot;Формат U: {0:U}&quot;, dt);</b>

<b>    Console.WriteLine(&quot;Формат у: {0:y}&quot;, dt);</b>

<b>    Console.WriteLine(&quot;Y format: {0:Y}&quot;, dt) ;</b>

<b>  }</b>

<b>}</b>

Эта программа дает следующий результат, который, впрочем, зависит от настроек языковых и региональных параметров локализации базового программного обеспечения.

<b>Формат d: 2/11/2010</b>

<b>Формат D: Thursday, February 11, 2010 Формат t: 11:21 AM</b>

<b>Формат T: 11:21:23 AM</b>

<b>Формат f: Thursday, February 11, 2010 11:21 AM</b>

<b>Формат F: Thursday, February 11, 2010 11:21:23 AM</b>

<b>Формат g: 2/11/2010 11:21 AM</b>

<b>Формат G: 2/11/2010 11:21:23 AM</b>

<b>Формат m: February 11</b>

<b>Формат M: February 11</b>

<b>Формат о: 2010-02-11T11:21:23.3768153-06:00</b>

<b>Формат О: 2010-02-11T11:21:23.3768153-06:00</b>

<b>Формат r: Thu, 11 Feb 2010 11:21:23 GMT</b>

<b>Формат R: Thu, 11 Feb 2010 11:21:23 GMT</b>

<b>Формат s: 2010-02-11T11:21:23</b>

<b>Формат u: 2010-02-11 11:21:23Z</b>

<b>Формат U: Thursday, February 11, 2010 5:21:23 PM</b>

<b>Формат у: February, 2010</b>

<b>Формат Y: </b><b>February, 2010</b>

В следующем примере программы воспроизводятся очень простые часы. Время обновляется каждую секунду, и каждый час компьютер издает звонок. Для получения отформатированного строкового представления времени перед его выводом в этой программе используется метод ToStringO из структуры DateTime. Через каждый час символ звукового предупреждающего сигнала присоединяется к отформатированной строке, представляющей время, в результате чего звенит звонок.