標準庫已經具有像您的結構: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_s
和gmtime_s
,它們避免了與全局變量相關的問題,但我不知道它們得到了多大的支持。 POSIX也指定類似的gmtime_r
和localtime_r
。
首先寫入有效的C.'int main(void)'而不是'main()' – StoryTeller
我建議你看看例如。 [這次函數和結構參考](http://en.cppreference.com/w/c/chrono)。 –
您應該計劃使用['localtime()'](http://pubs.opengroup.org/onlinepubs/9699919799/functions/localtime.html)或 [''gmtime()'](http:// pubs.opengroup.org/onlinepubs/9699919799/functions/gmtime.html),取決於你想要本地時間還是UTC。請注意,您必須映射值 - 年和月可能不是您期望的數字,直到您仔細閱讀手冊。 –