Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab_5-6.docx
Скачиваний:
5
Добавлен:
10.07.2019
Размер:
334.1 Кб
Скачать

Лабораторна робота №5-6. Тема: Робота з датою і часом. Елементи управління Timer, Monthcalendar та DateTimePicker.

Теоретичні відомості

Обробка дати і часу

Ви поки знайомі з числовим, рядковим і логічним типами даних. Тип дати і часу доби - DateTime теж в якомусь сенсі числовий, але специфічний. Якщо, наприклад, в ньому до 0:40 додати 0:40, то вийде, самі розумієте, не 0:80, а 1:20.

Тип DateTime представляє структуру DateTime простору імен System. Ви можете користуватися або ним, або еквівалентним йому типом Date, який дістався нам в спадок від Visual Basic 6.0. VB поширює на дані типу Date всі властивості і методи структури DateTime.

Змінні і літерали типу DateTime

Коли ви пишете у вікні код програми, в ній зустрічаються літерали: числа, рядки, а зараз ви повинні навчитися писати в програмі літерал дати і часу доби. Щоб VB зрозумів, що перед ним число, ви просто пишете цифри, і він розуміє. Щоб VB зрозумів, що перед ним рядок, ви пишете ряд букв і берете його в подвійні лапки, і VB розуміє, що це рядок. Щоб VB зрозумів, що перед ним дата або час доби, ви правильно записуєте дату і час і укладаєте їх між значками #, і він розуміє, що це літерал типу DateTime. Ось приклад правильного запису: #2/16/2002#. Перед вами не що інше, як 16 лютого 2002 року. Як правильно записувати дату і час в інших випадках, ви зрозумієте з інших прикладів:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Debug.WriteLine(#6/25/2001#) '25 червня 2001 року

Debug.WriteLine(#2:22:57 PM#) '2 години 22 хвилини 57 секунд після обіду (PM)

Debug.WriteLine(#2/28/1998 10:45:00 PM#) '10 годин 45 хвилин вечора 28 лютого 1998 року

Dim D, T, DT As DateTime

D = #12/25/2044#

T = #2:00:32 AM# '2 години 00 хвилин 32 секунди до обіду (AM)

DT = #1/15/2156 11:59:42 PM#

Debug.WriteLine(D)

Debug.WriteLine(T)

Debug.WriteLine(DT)

End Sub

Ця процедура надрукує такі результати у вікні інтерпретації:

25.06.2001 0:00:00

01.01.0001 14:22:57

28.02.1998 22:45:00

25.12.2044 0:00:00

01.01.0001 2:00:32

15.01.2156 23:59:42

Пояснення: Як бачите, у вікні коду ми зобов'язані писати дату і час по-американськи, тобто місяць писати раніше числа і розділяти все це косими рисами, а в позначенні часу доби VB примушує вас вказувати, до або після обіду була справа. А ось результати за цими незвичними даними друкуються все одно по-нашому, вірніше, так, як настроєна ОС Windows.

Ви можете задавати змінну типу DateTime і у вигляді рядка.

D = "5/6/2003 10:45:12 PM"

В цьому випадку, якщо дата і час в рядку записані правильно, VB автоматично перетворить рядок в тип DateTime. А ось якщо ви захочете задавати дату або час за допомогою оператора

D = InputBox("Введіть дату")

або з текстового поля, то вводити їх по-американськи не можна і значки # теж не можна ставити.

Змінна типу DateTime включає завжди і дату, і час доби. Але при наданні значення такій змінній ви не зобов'язані задавати і те і інше одночасно. Якщо ви не задали час доби, то, як бачите з результатів, вважається, що часом доби даної змінної є 0:00:00, тобто початковий момент доби. Якщо ви не задали дату, то вважається, що датою в даній змінній є 01.01.0001, тобто перший день наший ери.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]