
shell脚本获得昨天的日期
发布日期:2021-05-10 15:52:01
浏览次数:21
分类:精选文章
本文共 791 字,大约阅读时间需要 2 分钟。
前一段时间写过一个脚本,是获得当前时间前一天的日期,最近研究了下,把之前的封装成两个函数来实现,比较有逻辑性。
#判断当前的年份是否为闰年
sleapyear()
{ r4=`expr $1 % 4` r100=`expr $1 % 100` r400=`expr $1 % 400` if [ r4 -eq 0 and r100 -ne 0 ]; then return 1 elif [ r400 -eq 0 ] then return 1 else return 0 fi } #获取前一天的日期,在此函数中会调用判断闰年的函数 yesterday() { day=`echo "$3 - 1"|bc` month=$2 year=$1 if [ $day -eq 0 ]; then month=`echo "$2 - 1"|bc` isleapyear $1 leap=$? case $month in 0|1|3|5|7|8|10|12 ) day=31;; 4|6|9|11 ) day=30;; 2 ) if [ $leap -eq 1 ]; then day=29 else day=28 fi; esac if [ $month -eq 0 ]; then month=12 year=`echo "$1 - 1"|bc` fi fi date=`printf "%s%02s%02s" $year $month $day` }#设置传入yesterday函数的参数
set `date +%C%y\ %m\ %d`; YEAR=$1; MONTH=$2; DAY=$3#调用yesterday,传入三个参数,分别为当前年,当前月,当前日
yesterday $YEAR $MONTH $DAY echo $date打印出昨天的日期。测试机器hp-ux。
发表评论
最新留言
感谢大佬
[***.8.128.20]2025年04月11日 14时55分12秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Unable to find vcvarsall.bat build_ext
2021-05-10
搞懂线程和进程的关系及区别
2021-05-10
java如何实现任意两个值交换 数组为例(值传递和地址传递)
2021-05-10
2020Java程序设计基础(华东交通大学)章节测试免费满分答案
2021-05-10
嵌入式流水线以及数据存储的大小端
2021-05-10
PS入门小技巧8
2021-05-10
C/C++初学之创建项目
2021-05-10
C/C++语法规则
2021-05-10
爱生气的书店老板
2021-05-10
什么是JDBC?
2021-05-10
ENSP模拟器
2021-05-10
基础数据结构之字符串
2021-05-10
windows下命令行模式中cd命令无效的解决办法
2021-05-10
Firing POJ - 2987(最大权闭合图)
2021-05-10
监控时代,那无处安放的隐私
2021-05-10
为汽车新零售注入活力,瓜子二手车严选直卖店落地长沙
2021-05-10
Pytorch深度学习框架YOLOv3目标检测学习笔记(五)——输入输出工程实现
2021-05-10
VS中Qt项目汉字和UTF-8编码转换
2021-05-10
第007课 裸机开发步骤和工具使用(SourceInght NotePad++使用)
2021-05-10