Funkcia Hour
Ak chceme získať hodinu z podporovaného formátu dátumu, využijeme nato funkciu Hour. Návratová hodnota
funkcie Hour je celé číslo od intervalu 0 do 23. Pochopiteľne, číslo označuje konkrétnu hodinu počas
dňa.
Syntax funkcie Hour je nasledovná:
Hour(číslo alebo podporovaný formát času)
1. príklad: Experimenty s funkciou Hour
Sub functionHour REM začiatok makra
On Error Resume Next REM ak nastane chyba, nech makro beží ďalej
Dim i As Integer REM deklarácie premenných
Dim retazec As String
Dim pole()
REM naplňujeme naše pole
pole() = Array(Now,10.5,"29.02.2016",-1000,"1000","-1000",458,"10.12.1989", _
"21:21","11/12","10:20:55","11/5/1000","21/11/1987","11\11\1111", _
"5 November, 1983 11:12:24","1983.12.12","12.12.1922 15:10:22","15:10:22 12.12.1922")
REM v cykle experimentujeme s funkciou Hour
For i = LBound(pole()) To UBound(pole())
retazec = retazec & CStr(i+1) & ". " & pole(i) & " -> "
retazec = retazec & Hour(pole(i))
retazec = retazec & Chr(10)
Next
REM výpis na obrazovku
MsgBox retazec
End Sub REM koniec procedúry
Test argumentov funkcie Hour
Rozbor programu:
Zápis numerickým spôsobom nám vypľuje napr. takýto výsledok: 2. 10,5 -> 12. Ak zapíšeme čas v
podporovanom formáte, dostaneme takýto výsledok: 11. 10:20:55 -> 10. Ak k tomuto pridáme i
dátum, výsledok môže vyzerať i takto: 17. 12.12.1922 15:10:22 -> 15.
Funkcia Minute
Ukázali sme si, ako získať z istého zápisu hodinu. A pokračujeme minútami. Na získanie počtu minúť využijeme funkciu
Minute. Keďže jedna hodina má 60 minút, tak funkcia vracia celé číslo predstavujúce interval od 0
do 59.
Syntax funkcie Minute je nasledovná:
Hour(číslo alebo podporovaný formát času)
2. príklad: Test funkcie Minute
Sub functionMinute REM začiatok makra
On Error Resume Next REM ak nastane chyba, nech makro beží ďalej
Dim i As Integer REM deklarácie premenných
Dim retazec As String
Dim pole()
REM naplňujeme naše pole
pole() = Array(Now,10.5,"29.02.2016",-1000,"1000","-1000",458,"10.12.1989", _
"21:21","11/12","10:20:55","11/5/1000","21/11/1987","11\11\1111", _
"5 November, 1983 11:12:24","1983.12.12","12.12.1922 15:10:22","15:10:22 12.12.1922")
REM v cykle experimentujeme s funkciou Minute
For i = LBound(pole()) To UBound(pole())
retazec = retazec & CStr(i+1) & ". " & pole(i) & " -> "
retazec = retazec & Minute(pole(i))
retazec = retazec & Chr(10)
Next
REM výpis na obrazovku
MsgBox retazec
End Sub REM koniec procedúry
Ukážka výstupu funkcie Minute
Rozbor makra:
Počet minút z aktuálneho dátumu a času dostaneme takto: 1. 12.04.2018 14:10:55 -> 10.
Síce je 2. 10,5 -> 0 platný zápis, ale nie je tam žiadna konkrétnejšia informácia o počtu
minút, preto je východzia nultá minúta. A to isté platí aj pre 3. 29.02.2016 -> 0.
Funkcia Second
Ukázali sme hodiny a minúty. Čo nám ešte chýba? Presne tak, sekundy! Funkcia Second vracia číslo od
intervalu 0 do 59.
Syntax funkcie Second je rovnaká ako už pri spomenutých funkcii:
Second(číslo alebo podporovaný formát času)
3. príklad: Experimentujeme s funkciou Second
Sub functionSecond REM začiatok makra
On Error Resume Next REM ak nastane chyba, nech makro beží ďalej
Dim i As Integer REM deklarácie premenných
Dim retazec As String
Dim pole()
REM naplňujeme naše pole
pole() = Array(Now,10.5,"29.02.2016",-1000,"1000","-1000",458,"10.12.1989", _
"21:21", "11/12","10:20:55","11/5/1000","21/11/1987","11\11\1111", _
"5 November, 1983 11:12:24","1983.12.12","12.12.1922 15:10:22","15:10:22 12.12.1922")
REM v cykle experimentujeme s funkciou Second
For i = LBound(pole()) To UBound(pole())
retazec = retazec & CStr(i+1) & ". " & pole(i) & " -> "
retazec = retazec & Second(pole(i))
retazec = retazec & Chr(10)
Next
REM výpis na obrazovku
MsgBox retazec
End Sub REM koniec procedúry
A na záver test poslednej funkcii v tomto
článku
V minulých dvoch dielách sme sa venovali prevažne dátumu. Ale čo čas? Existujú nejaké funkcie napr. na zistenie
aktuálnej hodiny? Áno existujú a v tomto dieli si s nimi zaexperimentujeme. Presnejšie v článku sa zameriame na
funkcie Hour , Minute a Second .








