当前位置:  技术问答>linux和unix

各位大人,怎样显示前一两天的日期!

    来源: 互联网  发布时间:2015-03-10

    本文导语:  有没有现成的命令实现昨天的日期,自动显示前一天或者是几天的日期,例如:今天是2003-5-22日我需要得到03021这个日期,我写了一个比较笨的shell,虽然能够完成可是改动起来比较费劲,而且显得太笨了,请问能不...

有没有现成的命令实现昨天的日期,自动显示前一天或者是几天的日期,例如:今天是2003-5-22日我需要得到03021这个日期,我写了一个比较笨的shell,虽然能够完成可是改动起来比较费劲,而且显得太笨了,请问能不能提供好的方法解决这个问题!谢谢!
我把我的shell程序贴出来,请大家帮忙。

|
linux下,可以使用这样的表示
date +%Y-%m-%d -d "2 days ago"
date +%Y-%m-%d -d "2 month ago"
date +%Y-%m-%d -d "2 weeks ago"

|
#!/bin/sh

CurYear=`date +%Y`
CurMonth=`date +%m`
CurDay=`date +%d`


GetYear="$CurYear"
GetMonth="$CurMonth"
GetDay="`expr $CurDay - 1`"


if [ "$GetDay" -le 0 ] ; then

        GetMonth=`expr $CurMonth - 1`

        if [ "$GetMonth" -le 0 ] ; then

                GetYear=`expr $CurYear - 1`
                GetMonth=12

        fi

        case "$GetMonth"
        in
                1|3|5|7|8|10|12)

                        GetDay=31;;
                4|6|9|11)

                        GetDay=30;;
                2)

                        if [ `expr "$CurYear" % 400` -eq 0 ] ; then

                                GetDay=29
                        elif [ `expr "$CurYear" % 4` -eq 0 -a `expr "$CurYear" % 100` -ne 0 ] ; then

                                GetDay=29
                        else

                                GetDay=28
                        fi
        esac

fi

if [ `echo "$GetMonth" | wc -m` -ne 3 ] ; then

        GetMonth=0$GetMonth
fi

if [ `echo "$GetDay" | wc -m` -ne 3 ] ; then

        GetDay=0$GetDay
fi


echo
echo "          === Get Last Date ==="
echo
echo  "tt""$GetYear""$GetMonth""$GetDay"
echo

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 那位大人有 cursor/ncursor 库编程的资料,100分送上!!
  • LINUX大人进来就我!!!!!
  • 版主大人,各位大俠,請幫幫忙(關於GL4Java 的安裝方法)
  • 紧急求助!各位大人,nvidia5200显卡挂不上,xwindows启不来,安装kernel-source后提示少了nvidia.o库
  • 新用linux的GDB, 版本是出现6.3.3.0,出现奇怪问题, 可能是环境设置的问题, 大人帮忙
  • 哪位大人能否帮小弟看看?
  • 求助 请教各位大人 SHELL编程
  • 下午要东软面试,请各位大人给点意见(来着有分,up者不给)
  • 请大人帮忙看一下Oops的打印信息
  • [重新开楼]续求大人救命......[程序有些长,请您耐心帮忙看看]
  • linux新手,请教各位大人串口通讯问题(发送十六进制正常,接受数据错误)附源码
  • 提问的智慧(转,也许看看是有用的)请斑竹大人不要删


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3