linux输入一个日期,打印到当日的每天的日期,并统计总共过了多少天 使用循环、判断和date -n
时间: 2024-09-06 07:02:28 浏览: 74
JavaScript日期库date-fn.js使用方法解析
在Linux环境下,你可以使用bash脚本来实现这个功能。首先,我们需要获取当前日期作为起始点,然后通过循环逐日加一天,直到达到用户输入的日期。同时,我们可以利用`date -d`命令来处理日期并统计经过的天数。下面是一个简单的示例脚本:
```bash
#!/bin/bash
# 获取用户输入的日期
read -p "请输入结束日期 (格式: YYYY-MM-DD): " end_date
# 将输入转换为Unix时间戳
end_timestamp=$(date -d "$end_date" +%s)
# 当前日期的Unix时间戳
current_timestamp=$(date +%s)
# 初始化已过的天数计数器
days_passed=0
while [ $current_timestamp -lt $end_timestamp ]; do
# 计算下一天的日期
next_day=$(date -d "+1 day" +%Y-%m-%d)
echo "今天是: $next_day"
# 更新当前日期计数器
current_timestamp=$(($(date -d "$next_day" +%s) + 86400)) # 加上一天秒数(86400)
# 统计天数
((days_passed++))
done
echo "从$end_date开始至今共过去了 $days_passed 天。"
```
运行此脚本时,它会提示你输入一个日期,然后每天显示那一天,并累计天数,直到达到你指定的日期。
阅读全文