¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Como converter segundos em anos, meses e dias: guia passo a passo

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 2 Vistas
0
Cargando...

Autor da postagem: bilbo

Fórum da CA: Fórmula

Tenho um número total de segundos de uma fórmula entre duas datas, como posso converter isso em 'x anos, y meses, z dias'?

Qualquer ajuda/indicação será muito apreciada!

Bill

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Autor da postagem: SKodidine

Fórum da CA: Fórmula

Bilbo do condado, você está calculando a diferença entre as duas datas em segundos ou vem de um banco de dados? Se você tiver as duas datas, aqui está uma fórmula para calcular a diferença em anos, meses e dias.

http://technicalsupport.businessobjects.com/cs/forums/post/6084.aspx

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Autor do Post: bilbo

Fórum da CA: Fórmula

Obrigado pela resposta.

Tenho datas de início e fim no banco de dados, mas preciso calcular uma média, então estou usando datediff ("s",{table.startdate},{table.enddate}) para cada registro.

Em seguida, posso somar o total de segundos em todos os registros e dividir pelo número de entradas para obter uma média em segundos. Este é o valor que preciso converter para AA,MM,DD.

Encontrei uma fórmula na base de conhecimento para converter segundos em hh:mm:ss e a modifiquei para tentar fazer o que quero. Parece estar me dando uma resposta, mas não tenho certeza se está correta, pois minhas habilidades com fórmulas do Crystal são muito limitadas! O que fiz está mostrado abaixo:

local numbervar RemainingSeconds;local numbervar Yr ;local numbervar Mh;local numbervar Dy;

Yr := truncate({@divL} / 31556926);RemainingSeconds := {@divL} - (Yr *31556926);

Mh := truncate(RemainingSeconds/2629743);Dy := {@divL} - (Yr * 31556926) -(Mh * 2629743);

totext(Yr,"0") + " anos " + totext(Mh,"0") +" meses"// + totext(Dy,"00")

Na última seção, comentei os dias, pois se os incluo, obtenho "1 anos 10 meses 850996 dias" - Portanto, acredito que minha fórmula está errada em algum lugar!

Novamente, toda ajuda e assistência serão bem-vindas!

Bill

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Autor do Post: SKodidine

Fórum da CA: Fórmula

numbervar y := 31556926; // segundos em um ano

numbervar m := 2629743.83; // segundos em um mês

numbervar d := 86400; // segundos em um dia

//

numbervar anos := truncate(a/y);

numbervar meses := se remainder(a,y) < m então 0 senão truncate(remainder(a,y)/m);

numbervar dias := se meses < 1 então remainder(a,y)/d senão truncate((remainder(remainder(a,y),m))/d);

//

totext(anos,0) & ' Anos ' & totext(meses,0) & ' Meses ' & totext(dias,0) & ' dias';

onde A é a média calculada em segundos.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Autor da postagem: bilbo

Fórum da CA: Formula

°Isso funciona muito bem!

°Muito obrigado!

Bill

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?