C++ - Learning Postado Maio 28, 2011 Denunciar Share Postado Maio 28, 2011 Galera, como faço para calcular o tempo pegando como parametro data de entrada e de saida, horario de entrada e de saida? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Maio 28, 2011 Denunciar Share Postado Maio 28, 2011 Como os parâmetros de data/hora serão dados? Ano/mês/dia/hora/minuto/segundo?Uma forma de se calcular a diferença é usando a biblioteca time.h (a função difftime calcula a diferença entre duas datas). Recomendo que leia sobre a biblioteca (http://www.cplusplus.com/reference/clibrary/ctime/), utilizando as funções dela fica fácil calcular a diferença de tempo entre as duas datas.Segue abaixo um exemplo:#include <iostream> #include <time.h> int main(int argc, char* argv[]) { //Tempo inicial e final time_t tempo_inicial, tempo_final; tempo_inicial=0; tempo_final=0; //Seta o tempo inicial para 25/05/2011 14:20:35 tm *tempo_inicial_info=localtime(&tempo_inicial); tempo_inicial_info->tm_year=2011-1900; //ano=2011 (é necessário subtrair 1900, pois os anos iniciam em 1900) tempo_inicial_info->tm_mon=5-1; //mês=maio (é necessário subtrair 1, pois os meses iniciam no zero) tempo_inicial_info->tm_mday=25; //dia=25 tempo_inicial_info->tm_hour=14; //hora=14 tempo_inicial_info->tm_min=20; //minuto=20 tempo_inicial_info->tm_sec=35; //segundo=35 tempo_inicial=mktime(tempo_inicial_info); //Seta o tempo final para 26/05/2011 15:30:50 tm* tempo_final_info=localtime(&tempo_final); tempo_final_info->tm_year=2011-1900; //ano=2011 tempo_final_info->tm_mon=5-1; //mês=maio tempo_final_info->tm_mday=26; //dia=26 tempo_final_info->tm_hour=15; //hora=15 tempo_final_info->tm_min=30; //minuto=30 tempo_final_info->tm_sec=50; //segundo=50 tempo_final=mktime(tempo_final_info); //Calcula a diferença de tempo (segundos) double dif=difftime(tempo_final, tempo_inicial); std::cout << "Diferenca em segundos: " << dif << std::endl; return 0; }Conhecida a diferença em segundos, é fácil calcular a diferença em minutos, horas, etc. (basta dividir por 60, 3600, ...) Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
C++ - Learning
Galera, como faço para calcular o tempo pegando como parametro data de entrada e de saida, horario de entrada e de saida?
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.