2017-02-21 60 views
0

我的程序找到當前系統日期和時間是如何在結構中存儲當前系統日期?

#include<stdio.h> 
#include<time.h> 
struct date{ 
int day,month,year; 
}; 
main() 
{ 
    time_t t; 
    time(&t); 
    printf("Today's date and time is %s",ctime(&t)); 


} 

,我想這個存儲當前的日期構建請給我一個建議。

+4

首先寫入有效的C.'int main(void)'而不是'main()' – StoryTeller

+0

我建議你看看例如。 [這次函數和結構參考](http://en.cppreference.com/w/c/chrono)。 –

+1

您應該計劃使用['localtime()'](http://pubs.opengroup.org/onlinepubs/9699919799/functions/localtime.html)或 [''gmtime()'](http:// pubs.opengroup.org/onlinepubs/9699919799/functions/gmtime.html),取決於你想要本地時間還是UTC。請注意,您必須映射值 - 年和月可能不是您期望的數字,直到您仔細閱讀手冊。 –

回答

3

標準庫已經具有像您的結構:struct tm<time.h>

 int tm_sec;  /* seconds (0 - 60) */ 
     int tm_min;  /* minutes (0 - 59) */ 
     int tm_hour; /* hours (0 - 23) */ 
     int tm_mday; /* day of month (1 - 31) */ 
     int tm_mon;  /* month of year (0 - 11) */ 
     int tm_year; /* year - 1900 */ 
     int tm_wday; /* day of week (Sunday = 0) */ 
     int tm_yday; /* day of year (0 - 365) */ 
     int tm_isdst; /* is summer time in effect? */ 
     char *tm_zone; /* abbreviation of timezone name */ 
     long tm_gmtoff; /* offset from UTC in seconds */ 

該庫提供了由功能localtime填(你的時間區)和gmtime(爲GMT時間)struct tm類型的全局變量。

C11還指定了localtime_sgmtime_s,它們避免了與全局變量相關的問題,但我不知道它們得到了多大的支持。 POSIX也指定類似的gmtime_rlocaltime_r

相關問題