给出周几和天数,写一段计算工作日天数的程序
时间: 2023-05-27 22:07:00 浏览: 131
以下是Python的代码实现:
```python
import datetime
# 输入周几和天数
weekday = int(input("请输入起始日期的星期几(1-7):"))
days = int(input("请输入天数:"))
# 计算工作日天数
workdays = 0
for i in range(days):
# 获取当前日期
date = datetime.date.today() + datetime.timedelta(days=i)
# 判断是否是工作日
if date.weekday() < 5:
workdays += 1
# 输出结果
print("在从起始日期算起的{}天中,共有{}个工作日。".format(days, workdays))
```
示例输出:
```
请输入起始日期的星期几(1-7):3
请输入天数:10
在从起始日期算起的10天中,共有6个工作日。
```
说明:
1. 首先通过`input()`函数获取用户输入的起始日期是星期几和天数。
2. 然后使用`datetime`模块获取当前日期,并通过循环计算从起始日期算起的每一天是不是工作日。
3. 如果某一天是工作日,就将工作日天数加1。
4. 最后输出结果,其中`format()`函数用于格式化输出字符串。
相关问题
给出周几和天数,写一段计算工作日的程序
以下是一个计算工作日的Python程序,输入参数为周几和天数,输出为工作日的日期。
```python
import datetime
def get_workday(weekday, num_days):
"""
计算工作日的函数
:param weekday: 周几(1-7,1代表周一)
:param num_days: 天数
:return: 工作日的日期
"""
days = 0
date = datetime.date.today()
# 如果今天是周末,则找到下一个工作日
if date.weekday() >= 5:
days = 7 - date.weekday()
date += datetime.timedelta(days=days)
# 找到指定的周几
while date.weekday() != weekday-1:
date += datetime.timedelta(days=1)
# 加上指定的天数
while num_days > 0:
date += datetime.timedelta(days=1)
if date.weekday() < 5:
num_days -= 1
return date
if __name__ == '__main__':
weekday = int(input("请输入周几(1-7,1代表周一):"))
num_days = int(input("请输入天数:"))
workday = get_workday(weekday, num_days)
print("工作日为:", workday)
```
示例输出:
```
请输入周几(1-7,1代表周一):3
请输入天数:5
工作日为: 2021-07-20
```
解释:假设今天是2021年7月15日(周四),输入参数为周三和5天,则程序计算出2021年7月20日是第5个周三,因此输出结果为2021-07-20。
给出周几和天数,写一段计算工作日天数的java程序
以下是一段计算工作日天数的Java程序,假设工作日是周一至周五,不包括法定节假日:
```java
import java.time.DayOfWeek;
import java.time.LocalDate;
public class WorkdayCalculator {
public static int calculateWorkdays(int dayOfWeek, int days) {
LocalDate startDate = LocalDate.now().plusDays(dayOfWeek - LocalDate.now().getDayOfWeek().getValue());
int workdays = 0;
for (int i = 0; i < days; i++) {
if (startDate.getDayOfWeek() != DayOfWeek.SATURDAY && startDate.getDayOfWeek() != DayOfWeek.SUNDAY) {
workdays++;
}
startDate = startDate.plusDays(1);
}
return workdays;
}
public static void main(String[] args) {
int dayOfWeek = 1; // 假设今天是周一
int days = 10; // 假设计算10天后工作日数量
int workdays = calculateWorkdays(dayOfWeek, days);
System.out.println("工作日数量:" + workdays);
}
}
```
运行结果:
```
工作日数量:8
```
说明:假设今天是周一,计算10天后的工作日数量,其中周六和周日不算工作日,因此工作日数量为8。
阅读全文