#include <stdio.h>
#include <time.h>
int main() {
int year, month, day;
printf("Enter a date (yyyy-mm-dd): ");
scanf("%d-%d-%d", &year, &month, &day);
struct tm tm = {0};
tm.tm_year = year - 1900;
tm.tm_mon = month - 1;
tm.tm_mday = day;
tm.tm_isdst = -1;
time_t t = mktime(&tm);
char* weekday[] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
printf("%s\n", weekday[localtime(&t)->tm_wday]);
return 0;
}
在这段代码中,使用了 time 库中的 mktime 函数和 localtime 函数来将日期转换为时间戳,并使用 tm_wday 字段来计算日期是星期几。