NUMERO COM DECIMAL VIRAR HORA (TIMEVALUE)

JCM0867 27/04/2016 22:46:29
#461550
Olá pessoal
Qual o calculo que o excel faz para um numero com decimal virar Hora, por exemplo

0.099305556 vira 02:23:00
0.599305556 vira 14:23:00
9,722222222 vira 233:20:00

O problema que tenho uma tabela num banco no SQL server
Uma das colunas (hora) tem esse numero decimal, como converto esse decimal em HH:MM:SS no VB.NET?
Existe uma função ou fórmula para converter como o timevalue do excel?

Na internet só acho transformando a Hora em número e não acho o número tranformando em Hora

Grato
KERPLUNK 27/04/2016 23:17:28
#461551
é uma simples regra de 3:
(24 / 100) * valor

Se você colocar exatamente 0.5 e aplicar a fórmula, vai ter 12:00:00
JABA 27/04/2016 23:45:01
#461553
Resposta escolhida

        Dim valor As Decimal = 0.099305556
Dim t As TimeSpan = TimeSpan.FromDays(valor)
MsgBox(t.ToString) [ô]Saída: 02:23:00
JCM0867 27/04/2016 23:56:49
#461554
é quase isso Jaba
Mas vejamos o numero 9.7222222222
usar o teu código resualt em 9.17:20:00
ou seja 9 dias e 17h e 20 minutos. tem como dar o resultado 233:20

Claro que poderia pegar os (9 X 24) + 17
Mas no teu codigo tem como fazer isso direto?

Grato
JABA 28/04/2016 00:00:38
#461556
Dim valor As Decimal = 0.099305556
Dim t As TimeSpan = TimeSpan.FromDays(valor)
MsgBox(String.Format([Ô]{0:D2}[Ô], CInt(Math.Truncate(t.TotalHours))) & String.Format([Ô]:{0:D2}[Ô], t.Minutes))
JCM0867 28/04/2016 08:32:39
#461562
é isso aí
Valeu, muito obrigado
Tópico encerrado , respostas não são mais permitidas