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

Da Gambas-it.org - Wikipedia.
Riga 12: Riga 12:
 
==Conversione da data/orario in numero intero corrispondente==
 
==Conversione da data/orario in numero intero corrispondente==
 
In quest'altro caso la data e l'orario vengono convertiti nel esatto numero intero corrispondente.
 
In quest'altro caso la data e l'orario vengono convertiti nel esatto numero intero corrispondente.
'''Public''' Sub Main()
+
 
 +
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)
 +
 
 
   
 
   
<FONT Color=gray>' ''Se la data/orario sono quelli correnti, allora si potrà utilizzare la seguente riga:''</font>
+
Se però la data non è quella corrente, allora si potrà utilizzare la seguente riga:
  Print Val(Format(Now, "ddmmyyyy")), Val(Format(Now, "hhnnss"))
 
 
 
<FONT Color=gray>' ''Se la data non è quella corrente, allora si potrà utilizzare la seguente riga:''</font>
 
 
   Print Val(Format(CDate("08/21/1969"), "ddmmyyyy"))
 
   Print Val(Format(CDate("08/21/1969"), "ddmmyyyy"))
 
'''End'''
 

Versione delle 08:49, 26 apr 2021

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.

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"))