ГЛ А В А
7
Работа с датами
и перечислениями
Даты
В языке C#
существует тип данного, называемый "дата-время"
(
DateTime
). Если объявить переменную такого типа, то станут доступны
функции работы с датами и временем. Пусть объявили переменную
d
типа даты/времени:
DateTime d;
. Если теперь после
d
набрать точку, то
подсказчик нам высветит перечень функций работы с датой и временем
(рис. 7.1).
Рис. 7.1.
Подсказчик среды SharpDevelop с функциями для типа
DateTime
На примере
работы с массивами мы видели, что массив недостаточно
объявить в программе. Его еще надо наполнить содержимым, т. е. ини-
циализировать. Как и любую переменную объявленного типа. С типом
DateTime
такая же картина. После объявления переменную типа
DateTime
надо заполнить какой-то конкретной датой,
как мы заполняли
122
Часть I. Базовые сведения о программировании на языке C#
массив конкретными элементами. В C# даты имеют ссылочный тип и
поэтому размещаются там, где находятся все данные ссылочного ти-
па — в динамической куче памяти. А на примере массива мы видели,
что для размещения в этой куче
надо применить оператор
new
с неким
инициализатором. Последний наполнит объявленную переменную не-
обходимым содержанием, а оператор
new
весь
этот объект разместит в
куче, а ссылку на начало объекта в куче положит на полочку, соответст-
вующую имени объекта. Чтобы можно было в дальнейшем обращаться
к такому объекту. Инициализатором переменных типа
DateTime
служит
функция
с таким же именем, в качестве параметров которой выступают
параметры
int
year
,
int
month
,
int
day
, т. е. год, месяц и число. Если мы
зададим эти данные, то тем самым определим объявленную переменную
типа
DateTime
и в дальнейшем сможем с ней работать (что-то прибав-
лять к ней,
что-то отнимать, складывать ее значением с другой подобно-
го типа переменной и т. д.). Например, оператор
DateTime dt = new DateTime(2012,11,22);
задает значение переменной
dt
, равной 22 ноября 2012 г.
Инициализация объявленной переменной типа
DateTime
может
осуще-
ствляться и заданной константой: в объекте
DateTime
есть элемент c
именем
Now
, который выдает текущую дату и время вашего компьютера.
Вот оператор:
DateTime MyDate = DateTime.Now;
Если этот оператор выполнить, то значение
MyDate
будет, например,
таким: 22.11.2012 14:35:22. Последние
три числа, выданные через двое-
точие, означают "часы:минуты:секунды".
Форматный вывод дат
В листинге 7.1 приведен текст консольного приложения, в котором про-
изводится вывод даты и времени в различных форматах.
Результат
работы приложения показан на рис. 7.2.
Листинг 7.1
/* Created by SharpDevelop.
* User: user
* Date: 22.11.2012
* Time: 14:46
*