#1 Convertire un orario (hh.mm.ss) in un numero di tipo Double
Pubblicato da Mario De Ghetto su 13 Gennaio 2008
(Tip per VB6):
Talvolta occorre convertire un orario espresso nel formato “hh:mm:ss” in un numero di tipo Double, specialmente nel caso in cui tale numero sia da utilizzare in calcoli (es. tariffe orarie calcolate su un periodo frazionato).
Per semplificare la conversione è possibile utilizzare la seguente funzione:
Function Ore2Double(tempo As Date) As Double
' il parametro di input tempo contiene ad esempio "10:20:30"
Dim risultato As Double
risultato = Val(DatePart("h", tempo))
risultato = risultato + Val(DatePart("n", tempo)) / 60
risultato = risultato + Val(DatePart("s", tempo)) / 3600
Ore2Double = risultato
End Function
Tale funzione può essere richiamata in modo molto semplice:
Dim tempo As Date tempo = "10:20:30" ' conversione implicita MsgBox Ore2Double(tempo) ' restituisce un Double