获取C中的当前时间
我想获得我系统的当前时间。 为此,我在C中使用下面的代码:
time_t now; struct tm *mytime = localtime(&now); if ( strftime(buffer, sizeof buffer, "%X", mytime) ) { printf("time1 = \"%s\"\n", buffer); }
问题是这个代码给了一些随机的时间。 而且,随机时间每次都是不同的。 我想要我的系统的当前时间。
复制粘贴从这里 :
/* 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; }
(只需在main()参数列表中添加“void”以便在C中工作)
初始化你now
variables。
time_t now = time(0); // Get the system time
localtime
函数用于将传递的time_t
的时间值转换为struct tm
,但实际上并不检索系统时间。
简单的方法 :
#include <time.h> #include <stdio.h> int main(void) { time_t mytime; mytime = time(NULL); printf("Current Time : %s", ctime(&mytime)); return 0; }
为了扩展上面的@mingos的答案,我写了下面的函数来把我的时间格式化为一个特定的格式([dd mm yyyy 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); }
关于struct tm
更多信息可以在这里find。
#include<stdio.h> #include<time.h> void main() { time_t t; time(&t); printf("\n current time is : %s",ctime(&t)); }
家伙,你可以使用此function获取当前的本地时间。 如果你想gmtime然后使用gmtime函数而不是本地时间。 干杯
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);
#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 <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; }