用户输入的日期变量 -1 到 -5 天在 SOLARIS 10 中



我目前正在尝试将一个脚本放在一起,该脚本可以获取用户输入的日期并生成前 5 天作为变量,同时保持 YYYYMMDD 格式。

我使用的版本是GNU bash,版本3.2.52(1)发布(i386-pc-solaris2.10),但是似乎管理员已经阻止了GNU Util的使用,因此无法使用"gdate"命令。

我尝试使用无效的日期-d。此外,我尝试使用Perl,但似乎无法掌握如何最好地操纵它。

我目前拥有的脚本可以在下面看到,但没有返回最终日期。

#!/bin/bash
read -p "Enter the date (format = YYYYMMDD) : " Udate
echo $Udate
U2date=`TZ=GMT+24${Udate}'+%Y%m%d'`
echo $U2date

我的假设是,如果这段代码有效,我会简单地将 +24 增加到 +48,依此类推,以此类推。

抱歉,如果

这是一个要解决的简单问题,我对脚本很陌生,我正在旅途中学习。

echo "enter the date (yyyymmdd):"阅读乌达特时间戳 = perl -MTime::Local=timelocal -e '@t = unpack ("A4A2A2", $ARGV[0]); $t[1]--; print timelocal(1,1,1,reverse @t);' $UdateU2日期= perl -MPOSIX=strftime -e 'print strftime("%Y%m%d", localtime($ARGV[0] -86400));' $timestampU3日期= perl -MPOSIX=strftime -e 'print strftime("%Y%m%d", localtime($ARGV[0] -172800));' $timestampU4日期= perl -MPOSIX=strftime -e 'print strftime("%Y%m%d", localtime($ARGV[0] -259200));' $timestampU5日期= perl -MPOSIX=strftime -e 'print strftime("%Y%m%d", localtime($ARGV[0] -345600));' $timestamp

供将来参考,以防有人遇到类似问题。

相关内容

  • 没有找到相关文章

最新更新