标准库已经具有像您的结构: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。请注意,您必须映射值 - 年和月可能不是您期望的数字,直到您仔细阅读手册。 –