Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
Luigi83

Cálculo da diferença de dias entre 2 datas.

Recommended Posts

Luigi83

Estou agora a começar a aprender C, e preciso de implementar um programa que calcule a diferença entre 2 datas.

Por exemplo:

1ª Data: 2 3 2010

2ª Data: 2 4 2010

A diferença é 31 dias.

Há que também ter em conta se o ano é bissexto. Mas esta parte já consegui.

Mesmo em pseudo-código, já era uma grande ajuda, pois não sei por onde começar.

Share this post


Link to post
Share on other sites
merlin3000

queres a diferença em dias? Se for é só reduzir tudo a dias. Simplesmente multiplicas os anos de ambas as datas por 355 e somas 1 por cada ano bissexto. O mesmo com os meses, embora aqui uma lista de dias por mês vai ser necessária e mais uma vez somar 1 se for bissexto e incluir depois de fevereiro. Depois é só somar os dias. Assim que tiveres feito isto para ambas as datas é fazeres o módulo da diferença.

Isto assumindo que tens que fazer isso só a brincar com as datas sem ajudas de bibliotecas ou funções para datas. Porque senão há várias que que dão o tempo em milisegundos de uma determinada data desde de 1970 e podes usar logo esse dado para calcular a diferença.


Criar é Divertido

Share this post


Link to post
Share on other sites
merlin3000

é como veres a diferença entre duas medidas (ex: 1km e 325m , 2km e 100m) se quiseres a diferença em metros tens que reduzir as grandezas a metros, ou seja multiplica os km por 1000. Assim ficavas com 1325m - 2100m, o resultado é a diferença.


Criar é Divertido

Share this post


Link to post
Share on other sites
Luigi83

Mas então é para multiplicar pelo nº de dias, certo? Então será 365 e não 355, ou não?

Share this post


Link to post
Share on other sites
TheDark

"Melhor"? Melhor era guiá-lo na direcção correcta até ele chegar à solução por ele próprio. Dar a solução completa é fácil, mas não é de todo a "melhor" solução.


Desaparecido.

Share this post


Link to post
Share on other sites
mjamado

"Melhor"? Melhor era guiá-lo na direcção correcta até ele chegar à solução por ele próprio. Dar a solução completa é fácil, mas não é de todo a "melhor" solução.

Oh meu amigo, por quem sois...

Nem é tarde, nem é cedo; se é assim que as coisas funcionam por estas bandas, assunto resolvido: posta apagada...  :P

P.S.: também achei piada ao "dar a solução completa é fácil"...  :thumbsup:


"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.