Bash:
日付を比較する
How to: (やり方)
#!/bin/bash
# 日付を比較するシンプルな関数
compare_dates() {
if [[ "$1" == "$2" ]]; then
echo "Dates are the same."
elif [[ "$1" > "$2" ]]; then
echo "Date $1 is later than date $2."
else
echo "Date $1 is earlier than date $2."
fi
}
# 日付を YYYY-MM-DD 形式で比較
compare_dates "2023-03-30" "2023-04-01"
サンプル出力:
Date 2023-03-30 is earlier than date 2023-04-01.
Deep Dive (深掘り)
歴史的に、UNIX時間(1970年1月1日からの秒数)を使うことも日付比較の方法の一つです。date
コマンドを利用し、日付をUNIX時間に変換して比較することがよくあります。また、代替としては、PythonやPerlなどのスクリプト言語を使う手もあります。これらの言語は日付操作に特化した強力な機能を持っています。
Bashには日付を直接比較する組み込みの機能はありませんが、文字列として比較することで、標準的なISO 8601形式(YYYY-MM-DD)は辞書順でも時系列として妥当であるため、この形式を使用すると便利です。
See Also (関連情報)
- Bash manual: https://www.gnu.org/software/bash/manual/
- Advanced Bash-Scripting Guide: https://tldp.org/LDP/abs/html/
- Date command examples: https://www.cyberciti.biz/faq/linux-unix-formatting-dates-for-display/