// обновлять время через каждую секунду if(seconds != dt.Second) { seconds = dt.Second;
t = dt.ToString("T");
if(dt.Minute==0 && dt.Second==0) •
t = t + "\a"; // производить звонок через каждый час
Определение пользовательского формата даты и времени
Несмотря на то что стандартные спецификаторы формата даты и времени предусмотрены практически на все случаи жизни, пользователь может определить свои собственные специальные форматы. Процесс определения пользовательских форматов даты и времени мало чем отличается от описанного выше для числовых типов значений. По существу, пользователь создает пример (т.е. изображение) того, как должны выглядеть выводимые данные даты и времени. Для определения пользовательского формата даты и времени служат символы-заполнители, перечисленные в табл. 22.8.
Таблица 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 дополняются начальным нулем
M
Месяц в виде числа в пределах от 1 до 12
MM
Месяц в виде числа в пределах от 1 до 12. Числовые значения в пределах от 1 до 9 дополняются начальным нулем
МММ
Сокращенное название месяца
MMMM
Полное название месяца
s
Секунды
ss
Секунды. Числовые значения в пределах от 1 до 9 дополняются начальным нулем
t
Символ “А” или “Р”, обозначающий время А.М. (до полудня) или P.M. (после полудня) соответственно
Символ-заполнитель
Назначение
tt
A.M. или P.M.
У
Год в виде двух цифр, если недостаточно одной
УУ
Год в виде двух цифр. Числовые значения в пределах от 1 до 9 дополняются начальным нулем
УУУ
Год в виде трех цифр
УУУУ
Год в виде четырех цифр
УУУУУ
Год в виде пяти цифр
z
Смещение часового пояса в часах
zz
Смещение часового пояса в часах. Числовые значения в пределах от 1 до 9 дополняются начальным нулем
zzz
Смещение часового пояса в часах и минутах
:
Разделитель для составляющих значения времени
/
Разделитель для составляющих значения даты
%fmt
Стандартный формат, соответствующий спецификатору формата fmt
Глядя на табл. 22.8, можно заметить, что символы-заполнители d, f, g, m, М, s и t выполняют ту же функцию, что и аналогичные символы-заполнители из табл. 22.7. Вообще говоря, если один из этих символов указывается отдельно, то он интерпретируется как спецификатор формата. В противном случае он считается символом-заполнителем. Поэтому если требуется указать несколько таких символов отдельно, но интерпретировать их как символы-заполнители, то перед каждым из них следует поставить знак %.
В приведенном ниже примере программы демонстрируется применение нескольких форматов даты и времени.