IDADE COM SEGUNDOS
informado a idade, o projeto informasse também:
DIAS, HORAS, MINUTOS e SEGUNDOS.
Alguém tem um projeto parecido para estudo?
Grato,
=================
Exemplo:
idade: 1
Dias: 365
Horas: 8.766
Minutos: 525.960
Segundos: 31.557.600
==================
idade: 2
Dias: 731
Horas: 17.532
Minutos: 1.051.920
Segundos: 63.115.200
==================
Idade:
1 ano = 365 dias
Horas:
1h = 60m (60m x 24h = 1.440m) => 1.440m = 1 dias
Minutos:
1m = 60s (1.440m x 60s = 86.400s) => 86.400s = 1 dias
Segundos:
86.400s = 1 dias (86.400s x 365d = 31.557.600s) = 1 anos
---------------------------------------------------------
1 DIA = 24 H = 1.440 M = 86.400 S
===============================================
Citação:
Citação:
Citação:
Função de Data e Hora
(Qual expressão de seqüência de caracteres do Milissegundos)
DateDiff([Ô]yyyy[Ô], Idade, Now) [ô]Anos
DateDiff([Ô]d[Ô], Idade , Now) [ô]Dias
DateDiff([Ô]m[Ô], Idade, Now) [ô]Mês
DateDiff([Ô]h[Ô], Idade, Now) [ô]Horas
DateDiff([Ô]n[Ô], idade, Now) [ô]Minutos
DateDiff([Ô]s[Ô], Idade, Now) [ô]Segundos
DateDiff([Ô]?[Ô], Idade, Now) [ô]Milissegundos
Grato,
Dim agora As DateTime = DateTime.Now
Dim milisegundos As Integer = agora.Millisecond
Você pode pegar os segundos e multiplicar por 1000
DateDiff([Ô]s[Ô], Idade, Now) * 1000
Citação::
No parâmetro do Datediff, não dá:Veja aqui
Você pode pegar os segundos e multiplicar por 1000DateDiff([Ô]s[Ô], Idade, Now) * 1000
Ok! Beleza... deu certo, AGORA:
Como formatar horas?
1825 dias ====> 1.825 ====> ficar assim.
43800 horas ==> 43.800 ====> ficar assim.
2628000 minutos ===> 2.628.000 ====> ficar assim.
157680000 segundos ==> 157.680.000 ====> ficar assim.
[ô]---------------------------------------------------
IdadeDias = DateDiff([Ô]d[Ô], DataGlobal, Now)
IdadeHoras = DateDiff([Ô]h[Ô], DataGlobal, Now)
IdadeMinutos = DateDiff([Ô]n[Ô], DataGlobal, Now)
IdadeSegs = DateDiff([Ô]s[Ô], DataGlobal, Now)
[ô]---------------------------------------------------
lblIdadeDias.Caption = CStr(IdadeDias)
lblIdadeHoras.Caption = CStr(IdadeHoras)
lblIdadeMinutos.Caption = CStr(IdadeMinutos)
lblIdadeSegundos.Caption = CStr(IdadeSegs)
A formatação está correta. Você converteu tudo em unidade decimal e esta é a formatação decimal. Do contrário, não precisa dazer a conversão já que um mesmo intervalo vai apresentar o mesmo resultado. Por ex.: Se você converter 43.800 horas em HH:MM:SS, HH vai de 00 a 23, então 24:00:00 é igual a 1 dia. Da mesma forma, em MM só vai até 59, então cada 60 min vai para 1 hora e vai tornar ao 1825 dias. Note que para fazer a formatação correta, ainda vai usar muito codigo para converter da base decimal para base de tempo. Se você quer mostrar, por curiosidade, dias, horas, min, etc da idade de uma pessoa, tem que ser conforme acima.
Citação::
Na prática, qual a aplicabilidade disso? é para efeito de estudo, curiosidade?
A formatação está correta. Você converteu tudo em unidade decimal e esta é a formatação decimal. Do contrário, não precisa dazer a conversão já que um mesmo intervalo vai apresentar o mesmo resultado. Por ex.: Se você converter 43.800 horas em HH:MM:SS, HH vai de 00 a 23, então 24:00:00 é igual a 1 dia. Da mesma forma, em MM só vai até 59, então cada 60 min vai para 1 hora e vai tornar ao 1825 dias. Note que para fazer a formatação correta, ainda vai usar muito codigo para converter da base decimal para base de tempo. Se você quer mostrar, por curiosidade, dias, horas, min, etc da idade de uma pessoa, tem que ser conforme acima.
rs... dei uns chute na roda. Deu certo! Veja a abaixo, como ficou:
A CONVERSÃO FICOU PERFEITO.
lblIdadeAnos.Caption = Format(IdadeAnos, [Ô]##,##0[Ô]) & [Ô] anos [Ô]
lblIdadeMes.Caption = Format(IdadeMes, [Ô]##,##0[Ô]) & [Ô] meses [Ô]
lblIdadeDias.Caption = Format(IdadeDias, [Ô]##,##0[Ô]) & [Ô] dias [Ô]
lblIdadeHoras.Caption = Format(IdadeHoras, [Ô]##,##0[Ô]) & [Ô] horas [Ô]
lblIdadeMinutos.Caption = Format(IdadeMinutos, [Ô]##,##0[Ô]) & [Ô] minutos [Ô]
lblIdadeSegundos.Caption = Format(IdadeSegs, [Ô]##,##0[Ô]) & [Ô] segundos [Ô]
Valeu pela iniciativa...
Grato,