最近有朋友问如下问题: #include <stdio.h> int main() printf("%d/n", tms->tm_year); 这个问题在MSDN上解释的很清楚了,我不用罗嗦了,直接拿出证据吧。 Return Value localtime returns a pointer to the structure result. If the value in timer represents a date before midnight, January 1, 1970, localtime returns NULL. The fields of the structure type tm store the following values, each of which is an int: tm_sec Seconds after minute (0 – 59) tm_min Minutes after hour (0 – 59) tm_hour Hours after midnight (0 – 23) tm_mday Day of month (1 – 31) tm_mon Month (0 – 11; January = 0) //请注意这里 tm_year Year (current year minus 1900) //还要注意这里 tm_wday Day of week (0 – 6; Sunday = 0) tm_yday Day of year (0 – 365; January 1 = 0) tm_isdst Positive value if daylight saving time is in effect; 0 if daylight saving time is not in effect; negative value if status of daylight saving time is unknown. The C run-time library assumes the United States’s rules for implementing the calculation of Daylight Saving Time (DST). Parameter timer Pointer to stored time Remarks The localtime function converts a time stored as a time_t value and stores the result in a structure of type tm. The long value timer represents the seconds elapsed since midnight (00:00:00), January 1, 1970, coordinated universal time (UTC). This value is usually obtained from the time function. gmtime, mktime, and localtime all use a single statically allocated tm structure for the conversion. Each call to one of these routines destroys the result of the previous call. localtime corrects for the local time zone if the user first sets the global environment variable TZ. When TZ is set, three other environment variables (_timezone, _daylight, and _tzname) are automatically set as well. See _tzset for a description of these variables. TZ is a Microsoft extension and not part of the ANSI standard definition of localtime. Note The target environment should try to determine whether daylight saving time is in effect. Example |
|