C# 4.0 полное руководство - 2011
Шрифт:
Console.WriteLine("Формат r: {0:r}", dt);
Console.WriteLine("Формат R: {0:R}", dt);
Console.WriteLine("Формат s: {0:s}", dt);
Console.WriteLine("Формат u: {0:u}", dt);
Console.WriteLine("Формат U: {0:U}", dt);
Console.WriteLine("Формат у: {0:y}", dt);
Console.WriteLine("Y format: {0:Y}", dt) ;
}
}
Эта программа дает следующий результат,
Формат d: 2/11/2010
Формат D: Thursday, February 11, 2010 Формат t: 11:21 AM f
Формат T: 11:21:23 AM
Формат f: Thursday, February 11, 2010 11:21 AM
Формат F: Thursday, February 11, 2010 11:21:23 AM
Формат g: 2/11/2010 11:21 AM
Формат G: 2/11/2010 11:21:23 AM
Формат m: February 11
Формат M: February 11
Формат о: 2010-02-11T11:21:23.3768153-06:00 Формат О: 2010-02-11T11:21:23.3768153-06:00 Формат r: Thu, 11 Feb 2010 11:21:23 GMT Формат R: Thu, 11 Feb 2010 11:21:23 GMT Формат s: 2010-02-11T11:21:23 Формат u: 2010-02-11 11:21:23Z
Формат U: Thursday, February 11, 2010 5:21:23 PM Формат у: February, 2010 Формат Y: February, 2010
В следующем примере программы воспроизводятся очень простые часы. Время обновляется каждую секунду, и каждый час компьютер издает звонок. Для получения отформатированного строкового представления времени перед его выводом в этой программе используется метод ToStringO из структуры DateTime. Через каждый час символ звукового предупреждающего сигнала присоединяется к отформатированной строке, представляющей время, в результате чего звенит звонок.
// Пример простых часов.
using System;
class SimpleClock { static void Main { string t; int seconds;
DateTime dt = DateTime.Now; seconds = dt.Second;
for(;;) {
dt = DateTime.Now;
// обновлять время через каждую секунду if(seconds != dt.Second) { seconds = dt.Second;
t = dt.ToString("T");
if(dt.Minute==0 && dt.Second==0) •
t = t + "\a"; // производить звонок через каждый час
Определение пользовательского формата даты и времени
Несмотря на то что стандартные спецификаторы формата даты и времени предусмотрены практически на все случаи жизни, пользователь может определить свои собственные специальные форматы. Процесс определения пользовательских форматов даты и времени мало чем отличается от описанного выше для числовых типов значений. По существу, пользователь создает пример (т.е. изображение) того, как должны выглядеть выводимые данные даты и времени.
Таблица 22.8. Символы-заполнители специального формата даты и времени
Символ-заполнитель
Назначение
d
День месяца в виде числа в пределах от 1 до 31
dd
День месяца в виде числа в пределах от 1 до 31. Числовые значения в пределах от 1 до 9 дополняются начальным нулем
ddd
Сокращенное название дня недели
dddd
Полное название дня недели
f, ff,
fff, ffff,
Дробная часть числового значения, обозначающего секун
fffff,
ffffff, fffffff
ды. Количество десятичных разрядов определяется числом заданных символов f
g
Эра
h
Часы в виде числа в пределах от 1 до 12
hh
Часы в виде числа в пределах от 1 до 12. Числовые значения в пределах от 1 до 9 дополняются начальным нулем
H
Часы в виде числа в пределах от 0 до 23
HH
Часы в виде числа в пределах от 0 до 23. Числовые значения в пределах от 1 до 9 дополняются начальным нулем
К
Часовой пояс, указываемый в часах. Для автоматической коррекции местного времени и универсального синхронизированного времени (UTC) используется значение свойства DateTime. Kind. (Этот спецификатор формата рекомендуется теперь вместо спецификаторов с символами-заполнителями Z.)
m
Минуты
mm
Минуты. Числовые значения в пределах от 1 до 9 дополняются начальным нулем