System.DateTime и System.TimeSpan

System.DateTime и System.TimeSpan

В завершение нашего обзора базовых типов данных позволите обратить ваше внимание на то, что пространство имен System определяет несколько полезных типов данных, для которых в C# не предусмотрено ключевых слов. Это, в частности, типы DateTime и TimeSpan (задачу исследования типов System.Guid и System.Void, которые среди прочих показаны на рис. 3.19, мы оставляем на усмотрение заинтересованных читателей).

Тип DateTime содержит данные, представляющие конкретные дату (месяц, день, год) и время, которые можно отформатировать различными способами с помощью соответствующих членов. В качестве простого примера рассмотрите следующий набор операторов.

static void Main (string[] args) {

 …

 // Этот конструктор использует (год, месяц, день)

 DateTime dt = new DateTime(2004, 10, 17);

 // Какой это день недели?

 Console.WriteLine("День {0} – это (1}", dt.Date, dt.DayOfWeek);

 dt.AddMonths(2); // Теперь это декабрь.

 Console.WriteLine ("Учет летнего времени: {0}", dt.IsDaylightSavingTime());

 …

}

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

static void Main(string[] args) {

 …

 // Этот конструктор использует (часы, минуты, секунды)

 TimeSpan ts = new TimeSpan(4, 30, 0);

 Console.WriteLine(ts);

 // Вычтем 15 минут из текущего значения TimeSpan и распечатаем результат.

 Console.WriteLine(ts.Subtract(new TimeSpan (0, 15, 0)));

 …

}

На рис. 3.20 показан вывод операторов DateTime и TimeSpan.

Рис. 3.20. Использование типов DateTime и TimeSpan

Исходный код. Проект DataTypes размещен в подкаталоге, соответствующем главе 3.