我查找当前系统日期和时间的程序是
#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));
}
我想将当前日期存储到结构中请给我一个建议。
最佳答案
标准库已经有了像你这样的结构: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 */
库提供了一个类型为struct tm
的全局变量由函数 localtime
填充(针对您的时区)和 gmtime
(格林威治标准时间)。
C11 还指定了 localtime_s
和 gmtime_s
这避免了与全局变量相关的问题,但我不知道它们得到了多广泛的支持。 POSIX 还指定了类似的 gmtime_r
和 localtime_r
.
关于c - 如何在结构中存储当前系统日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42360992/