写一个校验工作日的代码
时间: 2023-09-06 14:04:41 浏览: 103
日期校验相关代码
### 回答1:
好的,以下是校验工作日的代码:
```c
#include <stdio.h>
int isWorkday(int year, int month, int day) {
int weekday = ; // 表示星期天,1表示星期一,以此类推
int daysOfMonth[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; // 每个月的天数
int i, days = ;
for (i = 1; i < month; i++) {
days += daysOfMonth[i - 1];
}
days += day - 1;
if (year % 4 == && year % 100 != || year % 400 == ) { // 判断是否是闰年
days++;
}
weekday = (days + 1) % 7; // 计算星期几
if (weekday == || weekday == 6) { // 判断是否是周末
return ;
} else {
return 1;
}
}
int main() {
int year, month, day;
printf("请输入日期(格式为yyyy-mm-dd):");
scanf("%d-%d-%d", &year, &month, &day);
if (isWorkday(year, month, day)) {
printf("这是一个工作日\n");
} else {
printf("这是一个休息日\n");
}
return ;
}
```
希望能对您有所帮助!
### 回答2:
校验工作日的代码可以根据不同的需求和情况有所不同,以下是一个简单的示例代码。
```Python
import datetime
def is_working_day(date):
# 获取日期的星期几
weekday = date.weekday()
# 判断是否为周六或周日
if weekday >= 5:
return False
# 如果是其他工作日,检查是否为法定假日,如有需要,可以自行添加法定假日的代码
# 这里只判断了一些常见的法定假日,具体情况可以根据实际情况进行修改
month = date.month
day = date.day
if (month == 1 and day == 1) or (month == 5 and day == 1) or (month == 10 and day == 1):
return False
if month == 10 and day > 1 and weekday == 0:
return False
return True
# 输入需要校验的日期
year = int(input("请输入年份:"))
month = int(input("请输入月份:"))
day = int(input("请输入日期:"))
# 根据输入的年月日创建datetime对象
date = datetime.date(year, month, day)
# 调用校验工作日的函数并输出结果
if is_working_day(date):
print("是工作日")
else:
print("不是工作日")
```
这个代码通过判断日期是周六或周日以及是否为法定假日来判断是否为工作日。在判断法定假日时,仅提供了一些常见的法定假日,如果实际情况中有其他法定假日需要判断,可以根据实际情况进行修改和添加判断条件。
### 回答3:
校验工作日的代码可以使用Python语言来实现,具体代码如下:
```
import datetime
def is_workday(date_string):
# 将日期字符串转换为日期对象
date = datetime.datetime.strptime(date_string, '%Y-%m-%d').date()
# 判断是否为周末
if date.weekday() >= 5:
return False
# 判断是否为法定节假日
holidays = [
datetime.date(date.year, 1, 1), # 元旦节
datetime.date(date.year, 5, 1), # 劳动节
datetime.date(date.year, 10, 1), # 国庆节
]
# 如果日期在节假日列表中,则返回False
if date in holidays:
return False
# 如果以上条件都不满足,则返回True
return True
# 调用函数进行测试
date_string = input("请输入日期(YYYY-MM-DD):")
if is_workday(date_string):
print("指定日期是工作日")
else:
print("指定日期不是工作日")
```
该代码中,`is_workday`函数用于校验给定日期是否为工作日。函数首先将日期字符串转换为日期对象,然后判断该日期是否为周末(即星期六或星期日),如果是则返回`False`。接着判断该日期是否为法定节假日(假设元旦节、劳动节和国庆节为法定节假日),如果是则返回`False`。最后,如果以上条件都不满足,则返回`True`,表示该日期是工作日。
通过输入一个日期字符串,调用`is_workday`函数进行测试,如果返回值为`True`,则说明指定日期是工作日;如果返回值为`False`,则说明指定日期不是工作日。
阅读全文