博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell脚本 - 日期比较与判断
阅读量:6605 次
发布时间:2019-06-24

本文共 961 字,大约阅读时间需要 3 分钟。

比较2个日期的相差天数

1. 脚本参考

脚本1:


#!/bin/bash#格式化过期日期,格式化过期日期完整时间以当前时间作为参考!expday="2018-04-11 `date +%T`"echo "Expire day is $expday"#当前日期时间格式为stamp时间戳todays=`date +%s`echo "Today is $(date +"%F %T")"#以下2种方式做时间的四则运算,分别使用 let 或者 $(( ))#过期日期已格式化,规避整数运算的误差(去余数)#let dayDiff=($(date -d "$expday" +%s)-$todays)/86400dayDiff=$(( ($(date -d "$expday" +%s)-$todays)/86400 ))echo "Diff day is $dayDiff days!"

其余说明:

bash 不支持浮点运算,如果需要进行浮点运算,需要借助bc,awk 处理。

脚本2:


支持浮点运算,精确计算天数的方法:

#!/bin/bash#不用刻意格式化过期日,默认时间 00:00:00expday="2018-04-11"echo "Expire day is $expday"todays=`date +%s`echo "Today is $(date +"%F %T")"#仅输出计算公式,管道输出给bc进行浮点运算#scale控制小数位数dayDiff=`echo "scale=2;($(date -d "$expday" +%s)-$todays)/86400"|bc`echo "Diff day is $dayDiff days!"

2. 浮点数比较方法:

——————————————————————————

if [ $(echo "1.8 < 15" | bc) = 1 ];thenecho Trueelseecho Falsefi

3. 使用date命令的日期直接对比


3day=$(date -d "$Expday -3 day" %F)2day=$(date -d "$Expday -2 day" %F)

转载于:https://blog.51cto.com/70720/2095952

你可能感兴趣的文章
HTML5 FileAPI
查看>>
使用tdcss.js轻松制作自己的style guide
查看>>
发布《iBoard 电子学堂》DEMO代码
查看>>
SecureCRTPortable.exe 如何上传文件
查看>>
C++中public、protected及private用法
查看>>
苹果公司的产品已用完后门与微软垄断,要检查起来,打架!
查看>>
oracle服务器和客户端字符集的查看和修改
查看>>
顶级的JavaScript框架、库、工具及其使用
查看>>
AYUI -AYUI风格的 超美 百度网盘8.0
查看>>
简明 Python 教程
查看>>
Photoshop操作指南
查看>>
用MPMoviePlayerController做在线音乐播放
查看>>
ASP.NET调用cmd命令提示符拒绝访问解决方案
查看>>
Leetcode: Construct Binary Tree from Preorder and Inorder Transversal
查看>>
嵌入式开发之字符叠加---gb2313 国标码,utf8 国际码,unicode 无码
查看>>
Java查找算法——二分查找
查看>>
如何构建微服务架构
查看>>
【前端笔记】彻底理解变量与函数的声明提升
查看>>
iOS - 多链式动画框架 LSAnimator
查看>>
Android 反编译利器,jadx 的高级技巧
查看>>