Olá, Comunidade!

Vocês devem ter notado que o site ficou um período fora do ar (do dia 26 até o dia 30 de maio de 2024).

Consegui recuperar tudo, e ainda fiz um UPGRADE no servidor! Agora estamos em um servidor dedicado no BRASIL!
Isso vai fazer com que o acesso fique mais rápido (espero 🙏)

Já arrumei os principais bugs que aparecem em uma atualização!
Mas, se você encontrar alguma coisa diferente, que não funciona direito, me envie uma MP avisando que eu arranjo um tempo pra arrumar!

Vamos crescer essa comunidade juntos 🥰

Grande abraço a todos,
Prof. Caju

MATEMÁTICA APLICADASoma de diferença entre datas não confere Tópico resolvido

Aplicações e soluções para o dia-a-dia.

Moderador: [ Moderadores TTB ]

Avatar do usuário

Autor do Tópico
alebarros
iniciante
Mensagens: 4
Registrado em: 01 Fev 2016, 08:09
Última visita: 21-02-16
Fev 2016 01 14:56

Soma de diferença entre datas não confere

Mensagem não lida por alebarros »

Tenho um cálculo que faz a diferença entre duas datas na seguinte ordem:
1-Diferença entre Data1 e Data2 (parametros: anos=365 e meses=30 dias), resultado em dia,mes,ano
2-Conversão do resultado para exibir em dias usando os mesmos parametros.
duvida.jpg
Conforme imagem a conversão dos periodos para dias está ok, a soma das colunas está ok, mas o resultado em dias da soma dos meses por extenso não confere.

Editado pela última vez por alebarros em 01 Fev 2016, 14:56, em um total de 1 vez.
Avatar do usuário

csmarcelo
6 - Doutor
Mensagens: 5114
Registrado em: 22 Jun 2012, 22:03
Última visita: 17-04-23
Agradeceu: 355 vezes
Agradeceram: 2800 vezes
Fev 2016 01 22:26

Re: Soma de diferença entre datas não confere

Mensagem não lida por csmarcelo »

Olá, alebarros.

O problema ocorre quando você converte 12 meses em 1 ano.

De acordo com os seus parâmetros:

1 mês = 30 dias e, portanto, 12 meses = 360 dias
1 ano = 365 dias

Assim, quando você transforma 17 meses em 12+5 e "sobe o doze", está incluindo 5 dias na conta.

Solução: considere que um ano possui 360 dias.
Ano comercial

Chama-se ano comercial o período de tempo em que se considera que o ano tem 360 dias e cada um dos meses 30 dias, indistintamente.

É utilizado na contabilidade e também na matemática financeira com o objetivo de simplificar os cálculos com datas.
Fonte: Wikipédia.

Editado pela última vez por csmarcelo em 01 Fev 2016, 22:26, em um total de 1 vez.
Avatar do usuário

Autor do Tópico
alebarros
iniciante
Mensagens: 4
Registrado em: 01 Fev 2016, 08:09
Última visita: 21-02-16
Fev 2016 02 08:32

Re: Soma de diferença entre datas não confere

Mensagem não lida por alebarros »

Obrigado csmarcelo pela atenção, mas acontece que não posso mudar essa regra, é a forma como é calculado o tempo de serviço do inss. Veja nesta imagem de um documento do Próprio instituto informando o tempo.
tempo.png
tempo.png (47.76 KiB) Exibido 6473 vezes
6 anos = 2190 dias
2 meses = 60 dias
1 dia
total = anos + meses + dias => 2251

Ano Comercial
6 anos = 2160 dias
2 meses = 60 dias
1 dia
total = anos + meses + dias => 2221
Editado pela última vez por alebarros em 02 Fev 2016, 08:32, em um total de 1 vez.
Avatar do usuário

csmarcelo
6 - Doutor
Mensagens: 5114
Registrado em: 22 Jun 2012, 22:03
Última visita: 17-04-23
Agradeceu: 355 vezes
Agradeceram: 2800 vezes
Fev 2016 02 10:19

Re: Soma de diferença entre datas não confere

Mensagem não lida por csmarcelo »

Creio que, nesse caso, a forma mais simples de se resolver isso seja somar os períodos em dias e depois converter para o formato ano/mês/dia.

7954+4970 = 12924 = 35 anos, 4 meses, 29 dias
Avatar do usuário

Autor do Tópico
alebarros
iniciante
Mensagens: 4
Registrado em: 01 Fev 2016, 08:09
Última visita: 21-02-16
Fev 2016 02 16:31

Re: Soma de diferença entre datas não confere

Mensagem não lida por alebarros »

Minha situação é que sempre vou ter duas datas:
16/12/1998
28/02/1977
---------------------
dias
como resolvo essa subtração retornando em dias?
Despois do resultado em dias como faço a conversão para dias,meses e anos?
Editado pela última vez por alebarros em 02 Fev 2016, 16:31, em um total de 1 vez.
Avatar do usuário

csmarcelo
6 - Doutor
Mensagens: 5114
Registrado em: 22 Jun 2012, 22:03
Última visita: 17-04-23
Agradeceu: 355 vezes
Agradeceram: 2800 vezes
Fev 2016 03 07:14

Re: Soma de diferença entre datas não confere

Mensagem não lida por csmarcelo »

Creio que você só precisa implementar agora volta (dias para ano/mês/dias), porque, pelo que eu entendi, o restante você já faz.
Tenho um cálculo que faz a diferença entre duas datas na seguinte ordem:
1-Diferença entre Data1 e Data2 (parametros: anos=365 e meses=30 dias), resultado em dia,mes,ano
2-Conversão do resultado para exibir em dias usando os mesmos parametros.
Faça 1 e 2 para cada período. Depois, basta somar todas as quantidades de dias encontradas e aí fazer a volta, ou seja, no seu exemplo, converter 12924 para 35 anos, 4 meses, 29 dias.

Segue algoritmo que calcula anos, meses e dias, tendo como parâmetro o total de dias.

Parâmetro de entrada: totalDias

anos = totalDias / 365
totalDias = totalDias - anos*365

meses = totalDias / 30
totalDias = totalDias - meses*30

dias = totalDias
Editado pela última vez por csmarcelo em 03 Fev 2016, 07:14, em um total de 1 vez.
Avatar do usuário

Autor do Tópico
alebarros
iniciante
Mensagens: 4
Registrado em: 01 Fev 2016, 08:09
Última visita: 21-02-16
Fev 2016 03 08:19

Re: Soma de diferença entre datas não confere

Mensagem não lida por alebarros »

csmarcelo, desculpe minha ignorância mas não entendi como aplicar o algorítimo poderia dar um exemplo.

Parâmetro de entrada: totalDias = 12924
anos = totalDias / 365
anos = 12924/365 = 35,40
totalDias = totalDias - anos*365
totalDias = 12924 - (35,40 * 365)
totalDias = 3
Editado pela última vez por alebarros em 03 Fev 2016, 08:19, em um total de 1 vez.
Avatar do usuário

csmarcelo
6 - Doutor
Mensagens: 5114
Registrado em: 22 Jun 2012, 22:03
Última visita: 17-04-23
Agradeceu: 355 vezes
Agradeceram: 2800 vezes
Fev 2016 03 11:27

Re: Soma de diferença entre datas não confere

Mensagem não lida por csmarcelo »

Você deve arredondar para baixo. Esqueci desse detalhe.

Parâmetro de entrada: totalDias

anos = int(totalDias / 365)
totalDias = totalDias - anos*365

meses = int(totalDias / 30)
totalDias = totalDias - meses*30

dias = totalDias

----------------------------------------

totalDias = 12924

anos = int(12924 / 365) = 35
totalDias = 12924 - 35*365 = 149

meses = int(149 / 30) = 4
totalDias = 149 - 4*30 = 29

dias = 29
Editado pela última vez por csmarcelo em 03 Fev 2016, 11:27, em um total de 1 vez.
Avatar do usuário

Rhaone
iniciante
Mensagens: 4
Registrado em: 25 Jun 2018, 21:28
Última visita: 26-06-18
Jun 2018 25 23:02

Re: Soma de diferença entre datas não confere

Mensagem não lida por Rhaone »

Olá ... vou tentar ajudar sem entrar muito a fundo no problema concernente ao INSS ...

Primeiro faça o cálculo correto da diferença em dias considerando dias bissextos e meses com seus dias corretos ...
Janeiro ... Fevereiro ... etc ... 31 (28|29) 31 30 31 30 31 31 30 31 30 31 ...
Para saber se um ano é bissexto deve-se dividi-lo por 4 ... se o resto da divisão for zero é um ano bissexto exceto 1900 que fevereiro não teve 29 dias ...
Para um cálculo mais rápido ... porém não muito preciso ... calcula a diferença de ANOS somente por 365,25 (onde este valor multiplicado por 4 acrescentará em 1 dia cada 4 anos que ocorrer dentro da diferença)

Depois disso procure adaptar esse resultado da diferença em dias nos moldes do INSS ...

Depois eu volto ...

Exemplo ...

28/02/1977 a 16/12/1998

(1998 - 1977) x 365,25 = 7670.25 ==> 7670

01/1977 ==> 31
28/1977 ==> 28 + 31 = 59

01/1998 ==> 31
02/1998 ==> 28 (1998 / 4 = 499.5 ==> não é ano bissexto porque tem resto diferente de zero)
03/1998 ==> 31
04/1998 ==> 30
05/1998 ==> 31
06/1998 ==> 30
07/1998 ==> 31
08/1998 ==> 31
09/1998 ==> 30
10/1998 ==> 31
11/1998 ==> 30
12/1998 ==> 16 + 31 + 28 + ... + 30 = 350 - 59 + 7670 = 7961 dias de diferença

7961 dias de diferença

Editado pela última vez por Rhaone em 25 Jun 2018, 23:23, em um total de 2 vezes.
Responder

Crie uma conta ou entre para participar dessa discussão

Você precisa ser um membro para postar uma resposta

Crie uma nova conta

Ainda não é um membro? Registre-se agora!
Membro pode iniciar seus próprios tópicos e inscrever-se no dos outros para ser notificado sobre atualizações.
É gratuito e leva apenas 1 minuto

Registrar

Entrar

  • Tópicos Semelhantes
    Respostas
    Exibições
    Última mensagem
  • Nova mensagem Datas
    por Auto Excluído (ID:17906) » » em Ensino Médio
    2 Respostas
    619 Exibições
    Última mensagem por 314159265
  • Nova mensagem Afixo da soma e da diferença de um numero complexo
    por CAPITÃOVERDI » » em Ensino Superior
    3 Respostas
    1256 Exibições
    Última mensagem por Cardoso1979
  • Nova mensagem Soma ou diferença entre cubos.
    por Leandrovisk » » em Ensino Fundamental
    2 Respostas
    1266 Exibições
    Última mensagem por Leandrovisk
  • Nova mensagem Soma dos inversos=inverso da soma?
    por AnthonyC » » em Ensino Fundamental
    1 Respostas
    4253 Exibições
    Última mensagem por jedi
  • Nova mensagem Sabendo a soma e produto de 2 números, qual a soma dos seus recíprocos?
    por Carlosft57 » » em Ensino Médio
    1 Respostas
    1558 Exibições
    Última mensagem por Carlosft57

Voltar para “MATEMÁTICA APLICADA”