Programovanie makier v LibreOffice: Bližší pohľad na dátum a čas – funkcie Hour, Minute a Second

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 .  

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 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 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 A na záver test poslednej funkcii v tomto článku

(Jako ve škole) Průměr: 2,60 | Hodnotilo: 5
 

Přidat názor

 

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích najdete v nápovědě. Diskuzi můžete sledovat pomocí RSS kanálu.

 
EDU Trainings
Eduard Boldižár

Eduard Boldižár

Som redaktorom stránky astrotech.cz. Mám 24 rokov. Čas trávim v IT škole. Medzi moje záľuby patrí astronómia, sci-fi literatúra a programovanie.

 

Public Relations

IPv4 zastarává, i tak si však zaslouží kvalitní zabezpečení

Znáte souvislost mezi doménami a typickými IP adresami? Není od věci si uvědomit, že zatímco domény jsou určeny pro zjednodušení hledání webové stránky na internetu, IP adresy slouží primárně pro výpočetní techniku, konkrétně pro přesné vyhledání konkrétního serveru nebo počítače.

Pokračování ...


LinuxEXPRES (news 300px)
SAM v kostce 2019
 
 
woo jaw demo hz