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

shell 日期计算函数测试问题

    来源: 互联网  发布时间:2016-12-29

    本文导语:  我在网上找到如下代码,计算某日的前一日,后一日,想知道如何测试该函数?谢谢! #!/bin/sh #返回月份的天数 get_mon_days() { Y=`expr substr $1 1 4` M=`expr substr $1 5 2` r1=`expr $Y % 4` r2=`expr $Y % 100` r3=`expr $Y % 400` ...

我在网上找到如下代码,计算某日的前一日,后一日,想知道如何测试该函数?谢谢!
#!/bin/sh
#返回月份的天数
get_mon_days()
{
Y=`expr substr $1 1 4`
M=`expr substr $1 5 2`

r1=`expr $Y % 4`
r2=`expr $Y % 100`
r3=`expr $Y % 400`

case $M in
01|03|05|07|08|10|12) days=31;;
04|06|09|11) days=30;;
esac
if [ $M -eq 02 ]
then
if [ r1 -eq 0 -a r2 -ne 0 -o r3 -eq 0 ]
then
days=29
else
days=28
fi
fi
echo $days
}
#返回昨天日期
get_before_date()
{
Y=`expr substr $1 1 4`
M=`expr substr $1 5 2`
D=`expr substr $1 7 2`
YY=`expr $Y - 1`
MM=`expr $M - 1`
DD=`expr $D - 1`
MM=`printf "%02d" $MM`
DD=`printf "%02d" $DD`
dd=$Y$MM
dad=`get_mon_days $dd`
be_date=$Y$M$DD
if [ $D -eq 01 ]
then
if [ $M -ne 01 ]
then
be_date=$Y$MM$dad
fi
if [ $M -eq 01 ]
then
be_date=$YY"1231"
fi
fi
echo $be_date

}
#返回明天日期
get_next_date()
{
Y=`expr substr $1 1 4`
M=`expr substr $1 5 2`
D=`expr substr $1 7 2`
YY=`expr $Y + 1`
MM=`expr $M + 1`
DD=`expr $D + 1`
MM=`printf "%02d" $MM`
DD=`printf "%02d" $DD`
r1=`expr $Y % 4`
r2=`expr $Y % 100`
r3=`expr $Y % 400`

next_date=$Y$M$DD

if [ $D -eq 30 ]
then
case $M in
04|06|09|11) next_date=$Y$MM"01";;
esac
fi
if [ $D -eq 31 ]
then
next_date=$Y$MM"01"
case $M in
12) next_date=$YY"0101";;
esac
fi
if [ $M -eq 02 ]
then
if [ r1 -eq 0 -a r2 -ne 0 -o r3 -eq 0 ]
then
if [ $D -eq 29 ]
then
next_date=$Y$MM"01"
fi
else
if [ $D -eq 28 ]
then
next_date=$Y$MM"01"
fi
fi
fi
echo $next_date
}

|

对,只添加了get_before_date $1
我的环境是AIX

    
 
 

您可能感兴趣的文章:

  • shell 函数中的用exit时,什么情况下仅仅退出函数,什么情况下退出整个shell程序?
  • shell脚本如何调用另外一个shell脚本的函数?
  • 很菜,shell脚本中怎么写函数,怎么使用带参数的函数???
  • shell函数如何load?
  • 急:unix的shell脚本中,定义了一个函数getDate(),在后面的执行命令参数用要使用这个函数的返回值,应该怎么写?
  • shell脚本里的函数怎么调用??
  • shell函数如何返回字符串
  • 有关在makefile中使用shell函数的问题
  • shell获取main函数的返回值
  • 求救!makefile 中shell函数
  • shell函数求救
  • shell中函数的使用
  • shell内能不能写入函数?
  • PHP中exec函数和shell_exec函数的区别
  • Unix下System函数实现中为何要使用shell去调用执行程序?
  • 函数调用Shell命令问题
  • shell 函数返回值
  • shell 编程:写一个功能函数,打印根目录下所有文件大小
  • 很菜的,能否在我的C函数里调用SHELL吗?
  • linux下system函数调用shell命令后,怎样让主进程不等子进程返回,接着执行(在线)?
  • 请教给问题,给分哦!shell 中输入一个日期参数,得到该日期的星期。
  • 关于shell脚本中日期的日期的引用问题
  • 在shell中如何获取当前日期和时间
  • shell脚本获取30天前的日期
  • 怎么用shell编程--改变BIOS里面的日期和星期 急啊
  • redhat7.2下怎么在shell文件中以变动日期做为变量?急!!
  • shell程序里如何比较日期大小
  • 初学SHELL..请教一个日期的问题.
  • shell 指定的日期 计算该天时星期几
  • 请教各位,shell脚本获取当前日期是本年的第几周?
  • 如何用shell备份某一个目录中修改日期是当天的文件
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • CSS测试工具 Selector Shell
  • 急:求一个连接LDAP测试的Shell脚本
  • 想写一个shell脚本同时运行一个程序测试最大并发数,求高手改正
  • shell if then fi 测试条件 关于通配符
  • shell 里 如何用if 语句。 测试 了半天都不好使。妈的,气死了
  • 谈谈关于shell编程中测试语句
  • 并发数据库压力测试的shell脚本代码
  • 一个测试下载速度的shell脚本
  • Linux shell怎样测试.conf文件内容
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • 不同类型的shell*(K SHELL , C SHELL) 用命令怎么切换?
  • linux bash shell命令:grep文本搜索工具简介
  • 我在执行shell时,想在shell里直接向mysql数据库插入数据,我该如何写shell。
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 菜鸟问问题:shell是什么呢?普通的ls、cp、pwd这些命令算不算shell呢?如何把自己写的文件变成shell呢?
  • linux bash shell命令:文本搜索工具grep中用于egrep和 grep -E的元字符扩展集
  • 傻瓜问题,请问shell编程和shell脚本编程的关系
  • linux bash shell命令:文本搜索工具Grep命令选项及实例
  • shell变量和子shell的问题请教
  • linux bash shell命令:文本搜索工具grep正则表达式元字符集(基本集)
  • 请问“当前shell”和“子shell”的区别?
  • 怎么知道当前是B_SHELL 还是C_SHELL
  • 用户登陆后运行某SHELL退出SHELL就回到LOGIN是怎么作到的?
  • 怎么写shell代码 写好shell怎么运行?
  • 请问一个shell中如何获取这个shell自身抛出的错误?
  • 非登录shell是什么 意思,和登录shell有什么区别啊
  • Solaris 8中修改root的shell为一个非法的Shell后怎么办?
  • .net/c#/asp.net iis7站长之家
  • shell 编程 执行shell新建多个终端 并执行程序
  • 如何在一台机器上的shell中执行另外一台机器上的shell


  • 站内导航:


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

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

    浙ICP备11055608号-3