ПОНЯТНО О Visual Basic NET (том 2)

Свойства и методы структуры DateTime


Чтобы понять, что от типа DateTime есть какая-то польза, решим пару задач.

Задача 1. 29 мая 2004 года мне выдали задание и сказали, чтобы я уложился в 50 дней. Какого числа наступит крайний срок сдачи задания?

Программа:

Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click

        Dim Сегодня, Крайний_срок As DateTime

        Сегодня = #5/29/2004#

        Крайний_срок = Сегодня.AddDays(50)

        MsgBox(Крайний_срок)

End Sub

В окне MsgBox мы видим результат: 18.07.2004. То есть 18 июля 2004 года – крайний срок сдачи задания. Здесь я использовал метод AddDays («Добавить дни») структуры DateTime.

Ту же самую программу можно записать короче:

        Dim Сегодня As DateTime = #5/29/2004#

        MsgBox(Сегодня.AddDays(50))



И еще короче:

        MsgBox(#5/29/2004#.AddDays(50))

Задача 2. В отпуск вы отправляетесь 1 июля 2005 года. Какой это день недели?

Программа:

        Dim Начало_отпуска As DateTime = #7/1/2005#

        MsgBox(Начало_отпуска.DayOfWeek)

Здесь я использовал метод DayOfWeek («День недели») структуры DateTime. В окне MsgBox мы видим результат: 5. Это пятый день недели – пятница. Кстати, воскресенье в VB – не 7-й день, а нулевой. Это потому, что у американцев неделя начинается с воскресенья, а не с понедельника, как у нас.

Перечень свойств и методов структуры DateTime. Не всех, но популярных. С пояснениями.

Пусть мы задали переменную:

        Dim D As DateTime = #2/14/2005 11:41:39 PM#

Ее значение мы будем использовать в этом подразделе, как исходный материал.

Оператор

        Debug.WriteLine(D.Date)

напечатает значение

14.02.2005  0:00:00

Мы видим, что свойство Date возвращает значение переменной с обнуленной составляющей времени суток, оставив только дату. Тип значения – Date. Заносим вышесказанное в таблицу:

Свойство или метод

Значение

Тип значения

Пояснения

Date

14.02.2005  0:00:00

Date

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

<

ToUniversalTime
14.02.2005 20:41:39
DateTime
Если вы имеете в виду, что в переменной D задано время вашего пояса, то эта функция показывает время GMT.
ToLocalTime
15.02.2005 2:41:39
DateTime
Наоборот: Если вы имеете в виду, что в переменной D задано время GMT, то эта функция показывает, сколько время в этот момент было в вашем поясе

Следующие методы преобразуют значение из типа DateTime в тип String. После этого его удобно просматривать и к нему можно применять методы работы со строками.

ToString
14.02.2005 23:41:39
String
Просто преобразование без изменений
ToLongDateString
14 Февраль 2005 г.
String
Выделяется дата
ToShortDateString
14.02.2005
String
Выделяется дата
ToLongTimeString
23:41:39
String
Выделяется время
ToShortTimeString
23:41
String
Выделяется время

Следующие методы и свойства принадлежат структуре DateTime и для их использования не нужно создавать переменную типа DateTime. То есть, можно писать, например, просто
Debug.WriteLine(DateTime.Now)

DaysInMonth(1996, 2)
29
Integer
Сколько дней во 2 месяце 1996 года
IsLeapYear(2004)
True
Boolean
Правда ли, что 2004 год – високосный.
Now
23.08.2003 17:42:10
Date
Дата и время на момент выполнения этого оператора, то есть текущие показания часов вашего компьютера
Today
23.08.2003 0:00:00
Date
То же самое, только без времени суток
Содержание раздела