programa - obtener fecha del sistema en dev c++
Obtener la hora actual en C (8)
Quiero obtener la hora actual de mi sistema. Para eso estoy usando el siguiente código en C:
time_t now;
struct tm *mytime = localtime(&now);
if ( strftime(buffer, sizeof buffer, "%X", mytime) )
{
printf("time1 = /"%s/"/n", buffer);
}
El problema es que este código está dando un tiempo aleatorio. Además, el tiempo aleatorio es diferente cada vez. Quiero la hora actual de mi sistema.
Camino fácil:
#include <time.h>
#include <stdio.h>
int main(void)
{
time_t mytime = time(NULL);
char * time_str = ctime(&mytime);
time_str[strlen(time_str)-1] = ''/0'';
printf("Current Time : %s/n", time_str);
return 0;
}
Copiado y pegado desde here :
/* localtime example */
#include <stdio.h>
#include <time.h>
int main ()
{
time_t rawtime;
struct tm * timeinfo;
time ( &rawtime );
timeinfo = localtime ( &rawtime );
printf ( "Current local time and date: %s", asctime (timeinfo) );
return 0;
}
(simplemente agrega "void" a la lista de argumentos main () para que esto funcione en C)
Inicializa tu now
variable.
time_t now = time(0); // Get the system time
La función localtime
se usa para convertir el valor de tiempo en el time_t
pasado a una struct tm
, en realidad no recupera la hora del sistema.
Para extender la respuesta de @mingos anterior, escribí la función siguiente para formatear mi tiempo en un formato específico ([dd mm aaaa hh: mm: ss]).
// Store the formatted string of time in the output
void format_time(char *output){
time_t rawtime;
struct tm * timeinfo;
time ( &rawtime );
timeinfo = localtime ( &rawtime );
sprintf(output, "[%d %d %d %d:%d:%d]",timeinfo->tm_mday, timeinfo->tm_mon + 1, timeinfo->tm_year + 1900, timeinfo->tm_hour, timeinfo->tm_min, timeinfo->tm_sec);
}
Puede encontrar más información sobre struct tm
here .
chicos, pueden usar esta función para obtener la hora local actual. si quieres gmtime, utiliza la función gmtime en lugar de localtime. aclamaciones
time_t my_time;
struct tm * timeinfo;
time (&my_time);
timeinfo = localtime (&my_time);
CCLog("year->%d",timeinfo->tm_year+1900);
CCLog("month->%d",timeinfo->tm_mon+1);
CCLog("date->%d",timeinfo->tm_mday);
CCLog("hour->%d",timeinfo->tm_hour);
CCLog("minutes->%d",timeinfo->tm_min);
CCLog("seconds->%d",timeinfo->tm_sec);
chicos, tengo una nueva forma de obtener el tiempo del sistema. aunque es largo y está lleno de trabajos tontos, pero de esta manera puede obtener el tiempo del sistema en formato entero.
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;
char hc1,hc2,mc1,mc2;
int hi1,hi2,mi1,mi2,hour,minute;
system("echo %time% >time.txt");
fp=fopen("time.txt","r");
if(fp==NULL)
exit(1) ;
hc1=fgetc(fp);
hc2=fgetc(fp);
fgetc(fp);
mc1=fgetc(fp);
mc2=fgetc(fp);
fclose(fp);
remove("time.txt");
hi1=hc1;
hi2=hc2;
mi1=mc1;
mi2=mc2;
hi1-=48;
hi2-=48;
mi1-=48;
mi2-=48;
hour=hi1*10+hi2;
minute=mi1*10+mi2;
printf("Current time is %d:%d/n",hour,minute);
return 0;
}
#include <stdio.h>
#include <time.h>
void main()
{
time_t t;
time(&t);
clrscr();
printf("Today''s date and time : %s",ctime(&t));
getch();
}
#include<stdio.h>
#include<time.h>
void main()
{
time_t t;
time(&t);
printf("/n current time is : %s",ctime(&t));
}