重要なイベントまであと何日あるか知りたいですか? Linux bash と date コマンドが役に立ちます。 大きな休日が近づいてきているので、どれくらいの準備期間が必要か思い出す必要があるかもしれません。 幸いなことに、date コマンドから多くの助けを得ることができます。この投稿では、date スクリプトと bash スクリプトを使用して、今日から予想されるイベントまでの日数を調べる方法について説明します。 まず、先に進む前にいくつかのヒントを紹介します。 date コマンドの %j オプションは、現在の日付を 1 から 366 までの数値として表示します。予想どおり、1 月 1 日は 1 と表示され、12 月 31 日はうるう年かどうかに応じて 365 または 366 と表示されます。挑戦し続けてください。次のような画面が表示されます。 $ 日付 +%j 339 ただし、次のように date コマンドを使用して、年の通算日を数値として取得できます。 $ 日付 -d "3月18日" +%j 077 上記のコマンドでは、その日付が過去の日付であっても、現在の年の日付が表示されることに注意してください。ただし、コマンドに年を追加することでこれを修正できます。 $ date -d "4月29日" +%j 119 $ date -d "2020年4月29日" +%j 120 閏年の場合、4 月 29 日は 119 日ではなく 120 日になります。 カレンダーに指紋を残さずにクリスマスまでの日数をカウントダウンしたい場合は、次のスクリプトを使用できます。 #!/bin/sh XMAS=`date -d "12月25日" +%j` 今日 = `日付 +%j` 日数=$(($XMAS - $TODAY)) $DAYSの場合 0) echo "今日ですね!メリークリスマス!";; [0-9]*) echo "残り$DAYS日";; -[0-9]*) echo "おっと、見逃してしまいました";; エサック このスクリプトでは、12 月 25 日と今日の日付を取得し、それらを減算します。結果が陽性の場合、残り日数を表示します。ゼロの場合は、「メリークリスマス」メッセージが送信され、マイナスの場合は、スクリプトを実行している人に休日を逃していることが通知されます。たぶん彼らはエッグノッグ中毒だったのでしょう。 case ステートメントは、残り時間が 0 の場合、または任意の数値、または - 記号で始まる数値 (つまり、過去) の場合に情報を出力するために使用されるステートメントで構成されます。 人々が注目したい日付であれば、同じアプローチを使用できます。実際にスクリプトを実行している人に日付を指定してもらい、現在からその日付までに何日残っているかを知らせることもできます。スクリプトはこれです。 #!/bin/sh echo -n "イベントの日付を入力してください (例: 6 月 6 日): " dtを読む イベント=`日付 -d "$dt" +%j` 今日 = `日付 +%j` DAYS=`式 $EVENT - $TODAY` $DAYSの場合 0) echo "今日だよ!";; [0-9]*) echo "残り$DAYS日";; -[0-9]*) echo "おっと、見逃してしまいました";; エサック このスクリプトで遭遇する 1 つの問題は、スクリプトを実行する人が翌年の特別な日まであと何日残っているか知りたいと期待すると、がっかりしてしまうことです。日付を入力するときに年を指定しても、 今日から特定の年の日付までの日数を計算するのは少し難しい場合があります。途中の年もすべて含め、閏年も考慮する必要があります。 Unixエポックタイムを使用する 現在から特定の日付までの日数を計算する別の方法は、Unix システムが日付を保存する方法を利用することです。次のスクリプトに示すように、1970 年 1 月 1 日以降の秒数を日数に変換すれば、簡単に実行できます。 #!/bin/bash echo -n "目標日を入力してください (例: 2021 年 3 月 18 日)> " ターゲット日付を読む 今日=`echo $(($(date --utc --date "$1" +%s)/86400))` target=`echo $(($(date --utc --date "$target_date" +%s)/86400))` days=`式 $target - $today` echo "$target_date までの日数 $days" 説明すると、86400 は 1 日の秒数です。この数値を Unix エポックの開始からの秒数で割ると、日数が算出されます。 $ ./カウントダウン 目標日を入力してください(例:2021年3月18日)> 2020年3月18日 2020年3月18日まであと104日 要約する 上記は、編集者が紹介したbashを使用して日付をカウントダウンする方法です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 以下もご興味があるかもしれません:
|
<<: CentOS7 での mysql 5.7.23 のバイナリ インストール
>>: centos7.2 オフラインインストール mysql5.7.18.tar.gz
序文Ahhang が Springboot プロジェクトを開発していたとき、フロントエンドから検証コ...
MySQL には、複数の .sql ファイル (SQL ステートメントを含む) をインポートする方法...
まずmysqlの圧縮バージョンをダウンロードします。公式ダウンロードアドレスは123WORDPRES...
序文Node は新しいプログラミング言語ではなく、JavaScript のランタイムに過ぎないとよく...
効果: CSS スタイル: <スタイル タイプ="text/css">...
Vue を使用してプロジェクトを開発する過程で、次のような問題によく遭遇します。Vue のデータでオ...
目次1. インストールの準備1. Linux関連情報の表示(Linuxコマンドライン操作) 2. M...
目次序文レンダリングの役割レンダリング機能の説明レンダリングとテンプレートの違いレンダリング例要約す...
1. HTMLコードコードをコピーコードは次のとおりです。経験値: <span class=...
CentOS システムで MySQL データベース ディレクトリの場所を変更する方法1. まず、My...
エンジン導入InnodbエンジンInnodb エンジンは、データベース ACID トランザクションを...
html.cssオーバーフローの包括的な理解XML/HTML コードコンテンツをクリップボードにコピ...
目次1. メール2. 携帯電話番号3. 電話番号4. URLアドレスですか? 5. 文字列ですか? ...
目次01. リスナーウォッチ(1)機能(2)特性と方法(3)監視対象(4)リスニングアレイ02. 計...
データシート:列から行へ: max(case when then) を使用max---集計関数は最大...