shell传递一个字符型日期参数 获取前一天的日期
时间: 2024-05-07 16:15:58 浏览: 12
可以使用以下脚本来获取前一天的日期:
```bash
#!/bin/bash
# 传递日期参数,格式为YYYYMMDD
date_str=$1
# 将日期转换为UNIX时间戳
date_ts=$(date -d "$date_str" +%s)
# 计算前一天的UNIX时间戳
prev_day_ts=$(($date_ts - 86400))
# 将UNIX时间戳转换为日期格式
prev_day_str=$(date -d @$prev_day_ts +%Y%m%d)
echo "前一天的日期为:$prev_day_str"
```
使用示例:
```bash
$ bash get_prev_day.sh 20220101
前一天的日期为:20211231
```
相关问题
shell脚本获取前一天日期
要在Shell脚本中获取前一天的日期,可以使用date命令结合date格式化选项和计算。以下是一个示例脚本:
```bash
#!/bin/bash
# 获取当前日期
current_date=$(date +%Y-%m-%d)
# 计算前一天日期
previous_date=$(date -d "$current_date -1 day" +%Y-%m-%d)
echo "前一天日期是:$previous_date"
```
在脚本中,首先使用`date +%Y-%m-%d`获取当前日期,并将其存储在`current_date`变量中。然后,使用`date -d "$current_date -1 day" +%Y-%m-%d`计算前一天的日期,并将其存储在`previous_date`变量中。最后,使用`echo`命令打印前一天的日期。
运行该脚本将输出前一天的日期。请注意,该命令在Linux系统上有效,对于其他操作系统可能需要略微修改。
shell获取前一天日期
可以使用date命令结合参数和格式化选项来获取前一天的日期,具体命令如下:
```
date -d "1 day ago" +%Y-%m-%d
```
其中,-d选项指定日期偏移量,"1 day ago"表示偏移一天,+%Y-%m-%d表示输出日期格式为年-月-日。执行该命令后,即可获取前一天的日期。