Boas a todos!
Gostaria de poder mostrar a hora de sistema no ecran... alguem sabe como se faz e que bibliotecas sao necessarias?
(uso o visual c++)
obrigado
#include <stdio.h>
#include <time.h>
int main (void) {
//O tempo em segundos desde 1 JAN 1970 00:00:00 ate este momento
printf ("%d\n", time((time_t*)NULL));
//Um apontador time_t com o mesmo tempo(uns milesimos de segundo adiantado, dependendo do processador)
time_t t = time((time_t*)NULL);
//Uma struct tm que ja existe da biblioteca do c
struct tm tempo;
/* Composicao da struct tm
struct tm {
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
}
*/
//Converter para uma struct tm, um time_t
tempo = *localtime_r(&t, &tempo);
//guardar para uma string um output desejado
char str[40];
strftime(str, (sizeof(char)*40),"DATA: \t%d-%m-%y \nHORA: \t%H:%M:%S",&tempo);
printf("%s\n", str);
return 0;
}
PHP:#include <stdio.h> #include <time.h> int main (void) { //O tempo em segundos desde 1 JAN 1970 00:00:00 ate este momento printf ("%d\n", time((time_t*)NULL)); //Um apontador time_t com o mesmo tempo(uns milesimos de segundo adiantado, dependendo do processador) time_t t = time((time_t*)NULL); //Uma struct tm que ja existe da biblioteca do c struct tm tempo; /* Composicao da struct tm struct tm { int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_year; int tm_wday; int tm_yday; int tm_isdst; } */ //Converter para uma struct tm, um time_t tempo = *localtime_r(&t, &tempo); //guardar para uma string um output desejado char str[40]; strftime(str, (sizeof(char)*40),"DATA: \t%d-%m-%y \nHORA: \t%H:%M:%S",&tempo); printf("%s\n", str); return 0; }
Dá uma olhada neste código que fiz, vindo desta Thread
Acho que deve fazer aquilo que queres.
Há maneiras mais simples de fazer, esse pedaço de código devolve o tempo num output desejado bem formatado, e com os parametros apenas desejados.
Faz 'man' as funções acima, e vê o comportamento delas.
Ver também -> Link
Cumps
//guardar para uma string um output desejado
char str[40];
strftime(str, (sizeof(char)*40),"DATA: \t%d-%m-%y \nHORA: \t%H:%M:%S",&tempo);
printf("%s\n", str);
//guardar para uma string um output desejado
char str[40];
strftime(str, (sizeof(char)*40),"%H:%M:%S",&tempo);
printf("%s\n", str);
mais simples que isto não arranjas...digo eu...hora e minuto, cada um num inteiro...é isto que keres?
main()
{
time_t t = time((time_t*)NULL);
struct tm tempo;
tempo = *localtime(&t, &tempo);
printf ( "Horas: %d:%d\n\n",tempo.tm_hour,tempo.tm_min);
system("pause");
}