C程序中指定起始日期和结束日期,读取系统时间,如果系统时间小于起始日期或大于结束日期则提示报错
时间: 2024-10-10 15:12:47 浏览: 56
在C程序中,你可以使用标准库中的`time.h`头文件来获取当前系统时间,并通过`stdio.h`中的输入函数来让用户输入起始和结束日期。下面是一个简单的示例:
```c
#include <stdio.h>
#include <time.h>
// 函数声明
void check_date(time_t start_time, time_t end_time);
int main() {
// 获取用户输入的起始和结束日期
struct tm start_tm, end_tm;
time_t start_time, end_time;
if (scanf("%ld-%ld", &start_time, &end_time) != 2) { // 期望格式为"秒数-秒数"
printf("错误:请输入正确的日期格式(如1609254870-1609255870)。\n");
return 1;
}
// 转换为struct tm结构以便于比较
localtime_r(&start_time, &start_tm);
localtime_r(&end_time, &end_tm);
// 检查系统时间是否在给定范围内
time_t current_time = time(NULL);
check_date(current_time, end_time); // 只检查当前时间是否在(end_time)之后
return 0;
}
// 检查日期函数
void check_date(time_t start_time, time_t end_time) {
if (current_time < start_time || current_time > end_time) {
printf("错误:当前时间(%ld)不在指定的日期范围之内。\n", current_time);
}
}
```
阅读全文