software:qview:qview_6:qcl_library:vc10mktime

VC10MkTime

Introducendo una data e un'ora (giorno, mese, anno, ore, minuti, secondi) la funzione VC10MkTime fornisce il numero di secondi trascorsi dalle 00:00 del 1°gennaio 1970 fino alla data introdotta.
Questo dato è utile per poter eseguire delle comparazioni tra date.
La funzione gestisce anche valori del giorno e del mese superiori ai limiti naturali (giorno > 31 o mese > 12), calcolandosi automaticamente la data corrispondente.

VC10MkTime (aglParam, glSumSec)

Parametri:

IN/OUTTIPO VARIABILENOME DI ESEMPIODIM
IN ARRGBL aglParam[01] L Giorno [>0]
IN ARRGBL aglParam[02] L Mese [>0]
IN ARRGBL aglParam[03] L Anno [1970÷2037]
IN ARRGBL aglParam[04] L Ora [0÷23]
IN ARRGBL aglParam[05] L Minuti [0÷59]
IN ARRGBL aglParam[06] L Secondi [0÷59]
OUT ARRGBL aglParam[07] L Giorno della settimana:
0 = domenica
1 = lunedì
2 = martedì
3 = mercoledì
4 = giovedì
5 = venerdì
6 = sabato
OUT ARRGBL aglParam[08] L Numero di giorni passati rispetto al 1° gennaio dell'anno introdotto
OUT ARRGBL aglParam[09] L Tipo di Errore:
0 = Nessuno
1 = Giorno ≤ 0
2 = Mese ≤ 0
3 = Anno introdotto fuori limiti [1970÷2037]
OUT GLOBAL glSumSec L Somma dei secondi trascorsi dalle 00:00 del 1°gennaio 1970 fino alla data introdotta

Esempio

Si vuole attivare una uscita digitale (ofUscita01) quando la data e l'ora attuale supera una data e un'ora impostata precedentemente.

;Data Attuale
aglParam[1] = 25
aglParam[2] = 6
aglParam[3] = 2009
aglParam[4] = 15
aglParam[5] = 30
aglParam[6] = 55
VC10MkTime (aglParam, glSumSec)
glSecActual = glSumSec			;Valore in secondi della data attuale
 
;Data da confrontare
aglParam[1] = 1
aglParam[2] = 1
aglParam[3] = 2010
aglParam[4] = 18
aglParam[5] = 00
aglParam[6] = 00
VC10MkTime (aglParam, glSumSec)
glSecExpiry = glSumSec			;Valore in secondi della data di scadenza
 
IF glSecActual GT glSecExpiry
	SETOUT ofUscita01
ENDIF

Note di funzionamento

  • Impostando un valore del mese superiore a 12 la funzione calcola la data posizionandola nell'anno o negli anni successivi rispetto a quello introdotto (esempio: 10/14/2010 corrisponderà alla data 10/2/2011)
  • Impostando un valore del giorno superiore al numero di giorni supportati dal mese impostato, la funzione calcola la data posizionandola nel mese o nei mesi successivi rispetto a quello introdotto (esempio: 50/5/2010 corrisponderà alla data 19/6/2010)
  • Ultima modifica: 2019/08/29 17:01