返回顶部
首页 > 资讯 > 操作系统 >使用 bash 倒计时日期的方法
  • 831
分享到

使用 bash 倒计时日期的方法

bash倒计时日期bash倒计时 2022-06-04 23:06:28 831人浏览 八月长安
摘要

需要知道重要事件发生前有多少天吗?让 linux bash 和 date 命令可以帮助你! 随着即将来临的重要假期,你可能需要提醒你还要准备多久。 幸运的是,你可以从 date 命令获得很多帮助。在本篇中,我们将研究 d

需要知道重要事件发生前有多少天吗?让 linux bash 和 date 命令可以帮助你!

随着即将来临的重要假期,你可能需要提醒你还要准备多久。

幸运的是,你可以从 date 命令获得很多帮助。在本篇中,我们将研究 date 和 bash 脚本如何告诉你从今天到你预期的事件之间有多少天。

首先,在进行之前有几个提示。date 命令的 %j 选项将以 1 至 366 之间的数字显示当前日期。如你所想的一样,1 月 1 日将显示为 1,12 月 31 日将显示为 365 或 366,这取决于是否是闰年。继续尝试。你应该会看到以下内容:


$ date +%j
339

但是,你可以通过以下方式,在 date 命令中得到一年中任何一天的数字:


$ date -d "Mar 18" +%j
077

要记住的是,即使该日期是过去的日期,上面命令也会向你显示当年的日期。但是,你可以在命令中添加年来修复该问题:


$ date -d "Apr 29" +%j
119
$ date -d "Apr 29 2020" +%j
120

在闰年中,4 月 29 日将是一年的 120 天,而不是 119 天。

如果你想倒数圣诞节之前的日子并且不想在挂历上留下指纹,你可以使用以下脚本:


#!/bin/sh
XMAS=`date -d "Dec 25" +%j`
TODAY=`date +%j`
DAYS=$(($XMAS - $TODAY))
case $DAYS in
 0) echo "It's today! Merry Christmas!";;
 [0-9]*) echo "$DAYS days remaining";;
 -[0-9]*) echo "Oops, you missed it";;
esac

在此脚本中,我们获取 12 月 25 日和今天的日期,然后相减。如果结果是正数,我们将显示剩余天数。如果为零,则发出 “Merry Christmas” 的消息,如果为负,那么仅告诉运行脚本的人他们错过了假期。也许他们沉迷在蛋酒中了。

case 语句由用来打印信息的语句组成,当剩余时间等于 0,或任意数字或以 - 符号开头的数字(也就是过去)分别打印不同的信息。

对于人们想要关注的任何日期,都可以使用相同方法。实际上,我们可以要求运行脚本的人员提供日期,然后让他们知道从现在到那天还有多少天。这个脚本是这样的。


#!/bin/sh
echo -n "Enter event date (e.g., June 6): "
read dt
EVENT=`date -d "$dt" +%j`
TODAY=`date +%j`
DAYS=`expr $EVENT - $TODAY`
case $DAYS in
 0) echo "It's today!";;
 [0-9]*) echo "$DAYS days remaining";;
 -[0-9]*) echo "Oops, you missed it";;
esac

使用此脚本会遇到的一个问题,如果运行该脚本的人希望知道到第二年这个特殊日子还有多少天,他们会感到失望。即使他们输入日期时提供了年,date -d 命令仍将仅提供今年中的天数,而不会提供从现在到那时的天数。

计算从今天到某年的日期之间的天数可能有些棘手。你需要包括所有中间年份,并注意那些闰年。

使用 Unix 纪元时间

计算从现在到某个特殊日期之间的天数的另一种方法是利用 Unix 系统存储日期的方法。如果将自 1970 年 1 月 1 日开始的秒数转换为天数,那么就可以很容易地执行此操作,如下脚本所示:


#!/bin/bash
echo -n "Enter target date (e.g., Mar 18 2021)> "
read target_date
today=`echo $(($(date --utc --date "$1" +%s)/86400))`
target=`echo $(($(date --utc --date "$target_date" +%s)/86400))`
days=`expr $target - $today`
echo "$days days until $target_date"

解释一下,86400 是一天中的秒数。将自 Unix 纪元开始以来的秒数除该数即为天数。


$ ./countdown
Enter target date (e.g., Mar 18 2021)> Mar 18 2020
104 days until Mar 18 2020

总结

以上所述是小编给大家介绍的使用 bash 倒计时日XFZgEr期的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

--结束END--

本文标题: 使用 bash 倒计时日期的方法

本文链接: https://lsjlt.com/news/20850.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 使用 bash 倒计时日期的方法
    需要知道重要事件发生前有多少天吗?让 linux bash 和 date 命令可以帮助你! 随着即将来临的重要假期,你可能需要提醒你还要准备多久。 幸运的是,你可以从 date 命令获得很多帮助。在本篇中,我们将研究 d...
    99+
    2022-06-04
    bash 倒计时日期 bash 倒计时
  • 如何用bash进行倒计时日期
    本篇文章给大家分享的是有关如何用bash进行倒计时日期,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。导读需要知道重要事件发生前有多少天吗?让 Linux b...
    99+
    2023-06-05
  • linux中怎么用bash倒计时日期
    这篇文章主要介绍了linux中怎么用bash倒计时日期,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。首先,在进行之前有几个提示。date 命令的 %j 选项将以 1 至 36...
    99+
    2023-06-16
  • vue实现指定日期之间的倒计时
    本文实例为大家分享了vue实现指定日期之间倒计时的具体代码,供大家参考,具体内容如下 效果图如下 此处使用moment.js日期处理类库 使用方法如下 npm install mo...
    99+
    2024-04-02
  • Android实现计时与倒计时的常用方法小结
    本文实例总结了Android实现计时与倒计时的常用方法。分享给大家供大家参考,具体如下: 方法一 Timer与TimerTask(Java实现) public class t...
    99+
    2022-06-06
    倒计时 小结 方法 Android
  • Android实现计时与倒计时的方法汇总
    方法一Timer与TimerTask(Java实现)public class timerTask extends Activity{ private int recLen = 11; private TextView txtView; ...
    99+
    2023-05-31
    android 计时 倒计时
  • Android 使用flow实现倒计时的方式
    Android 倒计时一般实现方式: handler+postDelayed() 方式Timer + TimerTask + handler 方式ScheduledExecutorS...
    99+
    2024-04-02
  • android实现倒计时功能的方法
    前言   在打开爱奇艺等app的欢迎界面的时候,右上角有一个倒计时的控件。倒计时完了以后进入主界面。现在我们来实现这个功能。  方法一: 利用...
    99+
    2022-06-06
    倒计时 方法 Android
  • React+Typescript实现倒计时Hook的方法
    首先对setInterval做了Hook化封装👇 import { useEffect, useRef } from 'react' function us...
    99+
    2024-04-02
  • Android自带倒计时控件Chronometer使用方法详解
    公司的以前的项目,看到使用了这个Android自带的倒计时控件Chronometer,现在整合了一下 先看看效果: <Chronometer android:id...
    99+
    2022-06-06
    倒计时 方法 Android
  • Android实现倒计时方法汇总
    Android开发中经常会有倒计时的功能,下面将总结出常见的集中实现方式。 1.直接使用Handler的消息机制来实现 xml布局中文件如下: <?xml v...
    99+
    2022-06-06
    倒计时 方法 方法汇总 Android
  • Ruby日期时间的比较,日期转换等时间日期处理方法大全
    Ruby中Date、Time、 DateTime这3个类提供 了和日期时间相关的操作。 Date只能处理日期Time能处理日期和时间DateTime也能处理日期和时间 其中,Date...
    99+
    2024-04-02
  • php根据日期计算星期几的方法
    这篇文章主要介绍了php根据日期计算星期几的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php根据日期计算星期几的方法:可以利用date函数来实现,如【$weekarr...
    99+
    2023-06-06
  • Win10如何使用计时器(倒计时)测量时间
      Win10的新版闹钟应用里包含闹钟、秒表、计时器、世界时间四个跟时间设置有关的小软件,我们介绍了闹钟和秒表的使用。那么如何使用计时器呢   打开倒计时   如何设置   我们可以使用鼠标移动圆圈的结束按钮,设置我们的...
    99+
    2023-06-12
    Win10 计时器 时间 测量 倒计时
  • mysql日期函数的使用方法
    这篇文章主要讲解了“mysql日期函数的使用方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql日期函数的使用方法”吧! ...
    99+
    2024-04-02
  • Java使用DateFormatter格式化日期时间的方法示例
    本文实例讲述了Java使用DateFormatter格式化日期时间的方法。分享给大家供大家参考,具体如下:Java版本:1.8开始import java.time.LocalDate;import java.time.LocalDateTi...
    99+
    2023-05-31
    java dateformatter 日期时间
  • C#常用日期时间方法汇总
    一、月份英文简写 DateTime dt = DateTime.Now; string MM = dt.AddMonths(-1).ToString("MMM", new Syste...
    99+
    2024-04-02
  • angular倒计时组件如何使用
    这篇文章主要介绍“angular倒计时组件如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“angular倒计时组件如何使用”文章能帮助大家解决问题。组件cou...
    99+
    2024-04-02
  • PHP日期处理实用指南:计算星期几的方法
    PHP日期处理实用指南:计算星期几的方法 在日常的开发工作中,经常会遇到需要根据日期计算出对应的星期几的情况。PHP作为一种功能强大且灵活的编程语言,提供了丰富的日期处理函数和方法,可...
    99+
    2024-02-29
    日期处理示例 php计算星期 星期日计算
  • 在计算日期时如何使用 ORDER BY 子句?
    如果我们在计算日期时使用 ORDER BY 子句,查找记录会更方便。为了理解它,我们从表“Collegedetail”中获取数据,如下 -mysql> Select * from Collegedetail; +------...
    99+
    2023-10-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作