MST
星途 面试题库

面试题:Bash中获取昨天日期的方法

在Bash脚本中,如何获取昨天的日期,并以YYYY - MM - DD的格式输出?
46.2万 热度难度
编程语言Bash

知识考点

AI 面试

面试题答案

一键面试

在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
  1. 首先使用date +%s获取当前日期的时间戳(从1970年1月1日00:00:00 UTC到现在的秒数),赋值给变量today
  2. 然后计算昨天的时间戳,即当前时间戳减去一天的秒数(24小时 * 60分钟 * 60秒),得到变量yesterday_ts
  3. 最后使用date -d @时间戳将时间戳转换为日期,并通过+%Y-%m-%d指定输出格式,赋值给变量yesterday后输出。