Promotic

GetDateOf - metoda objektu Pm

Popis:
Vrací různé datumy odvozené od zadaného datumu.
Syntaxe:
Date GetDateOf(Long nOper, [Date tDate], [Long nPar1], [Long nPar2])
Parametry:
nOper(Long) Operace nad zadaným časem:
 
1 - Konverze času na zimní čas, letní čas nebo JavaScript čas. Viz Příklad1.
Parametr nPar1 určuje typ vstupního času (tDate) a parametr nPar2 určuje typ výsledného času:
0 = Aktuální čas. Automaticky se vybere typ času podle toho, do jakého časového období čas patří.
Pokud čas (tDate) leží v období letního času, pak bude vybrán "letní čas".
Pokud čas (tDate) leží v období standardního času, pak bude vybrán "zimní čas".
1 = zimní čas (není funkční pro Web).
2 = letní čas (není funkční pro Web).
4 = JavaScript čas jako počet milisekund (viz JavaScript-Date).
11 - Čas spuštění aplikace. Parametr tDate se nezadává.
Parametry nPar1 a nPar2 se nepoužívají.
21 - Začátek letního času v roce zadaného času. Viz Příklad2.
Parametry nPar1 a nPar2 se nepoužívají.
22 - Začátek zimního času v roce zadaného času.
Parametry nPar1 a nPar2 se nepoužívají.
23 - Začátek letního času po zadaném čase.
Parametry nPar1 a nPar2 se nepoužívají.
24 - Začátek zimního času po zadaném čase.
Parametry nPar1 a nPar2 se nepoužívají.
25 - Začátek letního času před zadaným časem.
Parametry nPar1 a nPar2 se nepoužívají.
26 - Začátek zimního času před zadaným časem.
Parametry nPar1 a nPar2 se nepoužívají.
27 - Nejbližší přechod po zadaném čase.
Parametry nPar1 a nPar2 se nepoužívají.
28 - Nejbližší přechod před zadaným časem.
Parametry nPar1 a nPar2 se nepoužívají.
41 (61,81) - Začátek (minulého, následujícího) roku.
Parametry nPar1 a nPar2 se nepoužívají.
42 (62,82) - Začátek (minulého, následujícího) kvartálu. Toto lze také řešit pomocí operace 43 (63,83) - viz Příklad4.
Parametry nPar1 a nPar2 se nepoužívají.
43 (63,83) - Začátek (minulého, následujícího) měsíce. Viz Příklad3 a Příklad4.
Parametr nPar1 určuje velikost časového bloku (viz Význam parametru nPar1 pro operace s časovými bloky).
Parametr nPar2 se nepoužívá.
44 (64,84) - Začátek (minulého, následujícího) týdne (první den v týdnu je zde Pondělí).
Parametry nPar1 a nPar2 se nepoužívají.
45 (65,85) - Začátek (minulého, následujícího) dne.
Parametry nPar1 a nPar2 se nepoužívají.
46 (66,86) - Začátek (minulé, následující) hodiny. Viz Příklad6 a Příklad7.
Parametr nPar1 určuje velikost časového bloku (viz Význam parametru nPar1 pro operace s časovými bloky).
Parametr nPar2 se nepoužívá.
47 (67,87) - Začátek (minulé, následující) minuty.
Parametr nPar1 určuje velikost časového bloku (viz Význam parametru nPar1 pro operace s časovými bloky).
Parametr nPar2 se nepoužívá.
48 (68,88) - Začátek (minulé, následující) sekundy.
Parametr nPar1 určuje velikost časového bloku (viz Význam parametru nPar1 pro operace s časovými bloky).
Parametr nPar2 se nepoužívá.
101 (121,141) - Poslední den (minulého, následujícího) roku.
Parametry nPar1 a nPar2 se nepoužívají.
102 (122,142) - Poslední den (minulého, následujícího) kvartálu.
Parametry nPar1 a nPar2 se nepoužívají.
103 (123,143) - Poslední den (minulého, následujícího) měsíce.
Parametry nPar1 a nPar2 se nepoužívají.
104 (124,144) - Poslední den (minulého, následujícího) týdne (poslední den v týdnu je zde Neděle).
Parametry nPar1 a nPar2 se nepoužívají.
105 (125,145) - Poslední hodina (minulého, následujícího) dne.
Parametry nPar1 a nPar2 se nepoužívají.
106 (126,146) - Poslední minuta (minulé, následující) hodiny.
Parametry nPar1 a nPar2 se nepoužívají.
107 (127,147) - Poslední sekunda (minulé, následující) minuty.
Parametry nPar1 a nPar2 se nepoužívají.
tDate[nepovinné] (Date) Zadaný čas.
Pokud parametr je vynechán (nebo zadána hodnota je 0), pak se přednastaví aktuální čas.
nPar1[nepovinné] (Long) Význam závisí na operaci (na parametru nOper).
Pro operace, které tento parametr nepoužívají, se parametr vynechává, nebo se zadává hodnota 0.
nPar2[nepovinné] (Long) Význam závisí na operaci (na parametru nOper).
Pro operace, které tento parametr nepoužívají, se parametr vynechává, nebo se zadává hodnota 0.
Poznámka:
Tato metoda je funkční i v Makro výraz $.expr a v události onDraw objektu PmgCanvas.
 
Tato metoda je funkční i ve Web obrazech. Pro Web však zatím jsou funkční pouze operace 1, 41-88.

Význam parametru nPar1 pro operace s časovými bloky:
Pro operace 43,63,83 (začátek měsíce), 46,66,86 (začátek hodiny), 47,67,87 (začátek minuty) a 48,68,88 (začátek sekundy) lze pomocí parametru nPar1 definovat blok tak, že se nebude zjištovat začátek jednoho měsíce (hodiny, minuty, sekundy) ale bloku nPar1 měsíců (hodin, minut, sekund).
- Příklad pro měsíc: Pokud nPar1 = 3, pak se bude se zjišťovat začátek bloku tří měsíců (tzn. začátek kvartálu) - viz Příklad4.
- Příklad pro hodinu: Pokud nPar1 = 8, pak se bude se zjišťovat začátek bloku 8 hodin (tzn. začátek směny) - viz Příklad7. Například směna však vždy začíná v 6 hodin ráno, pro správný výpočet je nutno odečíst od vstupního času 6 hodin a pak k výsledku přičíst 6 hodin (6 hodin je hodnota 6/24).
Příklad1:
Zjistí aktualní čas jako "zimní čas" (i když může právě být aktivní "letní čas"):
JavaScriptVBScriptVyber a zkopíruj do schránky

var d = Pm.GetDateOf(1, 0, 0, 1);
Příklad2:
Zjistí čas přechodu na "letní čas" v roce 2023:
JavaScriptVBScriptVyber a zkopíruj do schránky

var d = Pm.GetDateOf(21, Pm.CreateDate(2023, 1, 1, 0, 0, 0, 0));
Příklad3:
Zjistí začátek tohoto měsíce:
JavaScriptVBScriptVyber a zkopíruj do schránky

var d = Pm.GetDateOf(43, 0);
Příklad4:
Zjistí začátek tohoto kvartálu (tzn. bloku 3 měsíců).
Viz Význam parametru nPar1 pro operace s časovými bloky.
JavaScriptVBScriptVyber a zkopíruj do schránky

var d = Pm.GetDateOf(43, 0, 3);
Příklad5:
Hodnota času bez datumu:
JavaScriptVyber a zkopíruj do schránky

var tTime = Pm.Time - Pm.GetDateOf(45, 0);
Příklad6:
Zjistí začátek této hodiny:
JavaScriptVBScriptVyber a zkopíruj do schránky

var d = Pm.GetDateOf(46, 0);
Příklad7:
Zjistí začátek této směny. Směna je blok 8 hodin, která začíná v 6 hodin. V příkladu se proto 6 hodin (tzn. hodnota 6/24) odečítá od vstupního času a následně přičítá k výstupnímu času.
Viz Význam parametru nPar1 pro operace s časovými bloky.
JavaScriptVBScriptVyber a zkopíruj do schránky

var d = Pm.GetDateOf(46, Pm.Time - 6 / 24, 8) + 6 / 24;

Historie:
Pm9.00.16: Pro operaci 1 je nyní podporován parametr nPar1=4, kterým lze získat JavaScript čas (jako počet milisekund).
Pm9.00.09: Opravená chyba: Metoda nefungovala ve Web obrazu pokud parametr tDate měl hodnotu 0.
Pm8.02.16: Zprovozněno pro Web obrazy.
Navigace:
 
- Pm
 
- Abs
- Cos
- E
- Exp
- GetDateOf
 
 
- LN2
- PI
- Pow
- Sin
- Tan
© MICROSYS, spol. s r.o.