面试题答案
一键面试在Bash脚本中,可以使用以下几种方法获取昨天的日期并以YYYY - MM - DD
格式输出:
方法一:使用date
命令结合-d
选项
yesterday=$(date -d "yesterday" +%Y-%m-%d)
echo $yesterday
在上述代码中,date -d "yesterday"
表示获取昨天的日期,+%Y-%m-%d
是指定输出格式为YYYY - MM - DD
。将获取到的日期赋值给变量yesterday
,然后通过echo
输出。
方法二:通过计算时间戳来获取昨天日期
today=$(date +%s)
yesterday_ts=$((today - 24*60*60))
yesterday=$(date -d @$yesterday_ts +%Y-%m-%d)
echo $yesterday
- 首先使用
date +%s
获取当前日期的时间戳(从1970年1月1日00:00:00 UTC到现在的秒数),赋值给变量today
。 - 然后计算昨天的时间戳,即当前时间戳减去一天的秒数(24小时 * 60分钟 * 60秒),得到变量
yesterday_ts
。 - 最后使用
date -d @时间戳
将时间戳转换为日期,并通过+%Y-%m-%d
指定输出格式,赋值给变量yesterday
后输出。