IDADE COM SEGUNDOS

ROBSONSLZ 26/05/2012 21:06:35
#402899
Olá Pessoal, como faço para calcular uma determinada IDADE, e ao ser
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
===============================================
ROBIU 27/05/2012 06:56:28
#402904
Resposta escolhida
ROBSONSLZ 28/05/2012 16:36:00
#403003
Citação:

:
Vê se esse tutorial ajuda

Citação:

:
Vê se esse tutorial ajuda

Citação:

:
Vê se esse tutorial ajuda



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,
LUCASVAZ 28/05/2012 16:58:50
#403005
Caso você não ache dessa forma, tente este exemplo:

Dim agora As DateTime = DateTime.Now
Dim milisegundos As Integer = agora.Millisecond
ROBIU 28/05/2012 17:41:58
#403010
No parâmetro do Datediff, não dá:Veja aqui

Você pode pegar os segundos e multiplicar por 1000

DateDiff([Ô]s[Ô], Idade, Now) * 1000


ROBSONSLZ 29/05/2012 20:25:10
#403112
Citação:

:
No parâmetro do Datediff, não dá:Veja aqui

Você pode pegar os segundos e multiplicar por 1000

DateDiff([Ô]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)
ROBIU 30/05/2012 08:12:29
#403132
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.
ROBSONSLZ 30/05/2012 21:11:26
#403180
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,
Tópico encerrado , respostas não são mais permitidas