永发信息网

shell中date函数,我知道显示当前月是echo "`date \"+%Y-%m\"`",那么要是我想显示上个月呢?

答案:2  悬赏:20  手机版
解决时间 2021-02-15 20:50
  • 提问者网友:不要迷恋哥
  • 2021-02-15 13:17
shell中date函数,我知道显示当前月是echo "`date \"+%Y-%m\"`",那么要是我想显示上个月呢?
最佳答案
  • 五星知识达人网友:迟山
  • 2021-02-15 13:47
如果是在Linux上,hefan77的答案就可以了。
如果是在其它的Unix上(e.g. AIX,HPUX,SunOS etc)
date command 没有 -d 的 option 可用时,可以用下面script:

#!/bin/ksh

let YEAR=$(date "+%Y")
let MONTH=$(date "+%m")

if [ $MONTH -eq 1 ]
then
let YEAR=YEAR-1
LASTYM=$(printf "%d-%.2d\n" $YEAR 12)
else
let MONTH=MONTH-1
LASTYM=$(printf "%d-%.2d\n" $YEAR $MONTH)
fi

echo $LASTYM
全部回答
  • 1楼网友:神的生死簿
  • 2021-02-15 14:51
echo "`date -d \"-1 month\" \"+%Y-%m\"`"
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯