Como posso criar um código para comparar duas datas digitadas pelo usuário em C?

1. Como posso criar um código para comparar duas datas digitadas pelo usuário em C?

Felipe Ricardo
feliperds

(usa Outra)

Enviado em 08/11/2016 - 19:30h

Boa noite :D

Gostaria de saber como eu poderia criar um código para calcular a diferença entre duas datas digitadas pelo usuário. Eu pesquisei e descobri que a biblioteca time.h tem uma função chamada difftime que faz isso. Entretanto, não sei como posso receber esses valores com a data/hora, e não consegui achar nenhum exemplo de código desse tipo.

Obrigado desde já.


  


2. Re: Como posso criar um código para comparar duas datas digitadas pelo usuário em C?

Perfil removido
removido

(usa Nenhuma)

Enviado em 08/11/2016 - 19:42h

Qual seu Linux?

No Debian eu instalei um pacote que tem alguns manuais de funções em C.
Aqui um site com manuais: https://linux.die.net/man/3/difftime
Segue o manual abaixo:

DIFFTIME(3)                                                          Linux Programmer's Manual                                                          DIFFTIME(3)

NAME
difftime - calculate time difference

SYNOPSIS
#include <time.h>

double difftime(time_t time1, time_t time0);

DESCRIPTION
The difftime() function returns the number of seconds elapsed between time time1 and time time0, represented as a double. Each of the times is specified in
calendar time, which means its value is a measurement (in seconds) relative to the Epoch, 1970-01-01 00:00:00 +0000 (UTC).

ATTRIBUTES
Multithreading (see pthreads(7))
The difftime() function is thread-safe.

CONFORMING TO
SVr4, 4.3BSD, C89, C99.

NOTES
On a POSIX system, time_t is an arithmetic type, and one could just define

#define difftime(t1,t0) (double)(t1 - t0)

when the possible overflow in the subtraction is not a concern.

SEE ALSO
date(1), gettimeofday(2), time(2), ctime(3), gmtime(3), localtime(3)

COLOPHON
This page is part of release 3.74 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of
this page, can be found at http://www.kernel.org/doc/man-pages/.

GNU 2013-10-28


----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



3. Re: Como posso criar um código para comparar duas datas digitadas pelo usuário em C?

Felipe Ricardo
feliperds

(usa Outra)

Enviado em 08/11/2016 - 20:42h

Mas como eu faço pra receber do usuário essa variavel do tipo time_t? Seria por um %s?
Nao consigo entender isso :/




4. Re: Como posso criar um código para comparar duas datas digitadas pelo usuário em C?

Perfil removido
removido

(usa Nenhuma)

Enviado em 09/11/2016 - 01:17h

http://stackoverflow.com/questions/5950497/comparing-dates-in-c-with-using-time-h-library
http://stackoverflow.com/questions/15555406/how-to-compare-two-time-stamp-in-format-month-date-hhmms...

Nestes links há código para comparar datas com exemplo de formatação.

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



5. Re: Como posso criar um código para comparar duas datas digitadas pelo usuário em C?

Paulo
paulo1205

(usa Ubuntu)

Enviado em 09/11/2016 - 01:54h

A conversão de struct tm para time_t se faz através da função mktime().






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts