Differenze tra le versioni di "Convertire data ed orario da formato Date in un numero"

Da Gambas-it.org - Wikipedia.
Riga 1: Riga 1:
La conversione di un valore di tipo ''Date'', oppure di una stringa contenente data ed orario rappresentati nel formato ''Date'' (ossia: "giorno/mese/anno ore:minuti:secondi") locale, può avvenire in alcuni modi.
+
La conversione di una data e un orario rappresentati nel tipo di dati "''Date'' " (ossia: "giorno/mese/anno ore:minuti:secondi") locale in un valore numerico può avvenire in alcuni modi.
  
 
==Conversione di data ed orario, contenuti in una variabile di tipo ''Date'', in un numero in virgola mobile==
 
==Conversione di data ed orario, contenuti in una variabile di tipo ''Date'', in un numero in virgola mobile==

Versione delle 10:44, 26 apr 2021

La conversione di una data e un orario rappresentati nel tipo di dati "Date " (ossia: "giorno/mese/anno ore:minuti:secondi") locale in un valore numerico può avvenire in alcuni modi.

Conversione di data ed orario, contenuti in una variabile di tipo Date, in un numero in virgola mobile

In questo caso la conversione avverrà usando la funzione nativa "CFloat()", e sarà restituito un valore in virgola mobile che rappresenta a sinistra della virgola i giorni trascorsi dal primo numero di giorni dall'epoca di Gambas (un giorno arbitrario risalente a circa 8000 anni a.C.) e a destra della virgola i millesimi di secondo trascorsi dalle ore 00:00 del giorno corrente.

Public Sub Main()

 Print CFloat(Now)

End


Conversione da data/orario in numero intero corrispondente

In quest'altro caso la data e l'orario vengono convertiti nel esatto numero intero corrispondente.

Se la data/orario sono quelli correnti, allora si potrà utilizzare la seguente riga:

 Print Val(Format(Now, "ddmmyyyy")), Val(Format(Now, "hhnnss"))

Qualora si volesse trasformare questi i valori ottenuti della data e dell'orario in un unico valore in virgola mobile, si potrà fare come segue:

 Print Val(Format(Now, "ddmmyyyy")) + (Val(Format(Now, "hhnnss")) * 1E-6)


Se però la data non è quella corrente, allora si potrà utilizzare la seguente riga:

 Print Val(Format(CDate("08/21/1969"), "ddmmyyyy"))