Shell Script 資料一覧
dateコマンドを使って2つの日時の差分時間を計算するスクリプト
2023/12/27更新
対応バージョン: 8.22
dateコマンド(GNU date)を使って2つの日時の差分時間を計算するスクリプトを作ってみた。
cal_time
#!/bin/bash # 日時の差分計算 # # (使用例) # $ cal_time 20231231 12:00 20240101 00:20 # 12h20m # 引数取込 from_date=$1 from_time=$2 to_date=$3 to_time=$4 # 引数チェック if [ ! -n "${from_date}" ] || [ ! -n "${from_time}" ] || [ ! -n "${to_date}" ] || [ ! -n "${to_time}" ]; then echo "usage: `basename $0` from_date from_time to_date to_time (date=YYYYMMDD,time=HH:MM:SS)" exit fi # 通算秒計算 from_total_datetime=$(date --date "${from_date} ${from_time}" +%s) to_total_datetime=$(date --date "${to_date} ${to_time}" +%s) # 時間/分の差分計算 diff_time=$(expr \( ${to_total_datetime} - ${from_total_datetime} \) / 3600) diff_minute=$(expr \( ${to_total_datetime} - ${from_total_datetime} \) % 3600 / 60) echo ${diff_time}h${diff_minute}m
使い方は以下の通り。
% cal_time 20231231 12:00 20240101 00:20 12h20m
関連資料・記事