前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux17:时间间隔计算脚本练习——距离你的生日还有多少天

linux17:时间间隔计算脚本练习——距离你的生日还有多少天

作者头像
全栈程序员站长
发布2022-09-22 18:23:20
1.1K0
发布2022-09-22 18:23:20
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

需求

距离一个未来的日子还有多少天 距离一个过去的日子过去多少天

主要是用一个date命令

代码语言:javascript
复制
echo $(($(date --date="2022/01/01" +%s)/86400+1))

脚本写法:

代码语言:javascript
复制
#!/bin/bash

#name——timeDistance.sh


#function

#input a date, to calculate how many days to this day
#2022.1.18 daxiong


read -p  "please input your date like YYYYMMDD ex>20150716 : "  date2

#test whether or not have eight numbers
date_test=$(echo ${date2} | grep '[0-9] \ {8\} ')
if [ "${date_test}" == "" ] ; then
	echo "you must input the right date format... "
	exit 1
fi

#calculate
declare -i date_des=$(date --date="${date2}" +%s)
declare -i date_now=$(date +%s)
declare -i distanceSec=$((${date_des}-${date_now}))

declare -i distanceDay=$(( ${distanceSec}/60/60/24 ))

if [ "$distanceDay" -gt 0 ]; then
        echo "That day hasn't come yet. "
        echo "You have $((${distanceDay}+1)) days."

elif [ "$distanceDay" -eq 0 ]; then
        echo "Just do it now!"
else [ "$distanceDay" -lt 0 ] 
        echo "That day has passed, $((0-${distanceDay})) days ago. "
fi

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/168465.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档