$ date --version
date (GNU coreutils) 8.30
[足し算]
例
・10分1秒 + 20分2秒
$ date -d "00:10:01 20minutes 2seconds" +%T
00:30:03
上と同じ
$ date -d "00:10:01 20 minutes 2 seconds" +%T
$ date -d "00:10:01 20minutes 2seconds" +%"T"
man date より
-d, --date=STRING
現在時刻ではなく STRING で指定された時刻を表示する
%T 時刻。%H:%M:%S と同様
%H 時 (00..23)
%M 分 (00..59)
%S 秒 (00..60)
・05:20 + 5:15 + 8:41 + 8:01 + 6:47 + 5:24 + 5:02
$ date -d "00:05:20 5 minutes 15 seconds 8 minutes 41 seconds 8 minutes 1 seconds 6 minutes 47 seconds 5 minutes 24 seconds 5 minutes 2 seconds" +"%T"
00:44:30
最初だけは時分秒 00:00:00形式にする[引き算]
'時'には hoursを使うが 00..23時の範囲。'日'をまたぐ例は下記の[年月日時分秒]
例
・2時間5分 - 10 分
$ date -d "02:05:00 10 minutes ago" +%T
01:55:00
"ago"をつけると"引く"
[年月日時分秒]
・2020年1月1日23時10分 + 60分
$ date -d '20200101 23:10:00 60 minutes'
2020年 1月 2日 木曜日 00:10:00 JST
・2020年1月1日23時10分 + 62分
$ date -d '20200101 23:10:00 62 minutes' +"%F %T"
2020-01-02 00:12:00
%F 完全形式の日付。 %Y-%m-%d と同様
上の例では %Fと%Tの間にスペース入れてます。
・2020年1月1日00時05分 - 1時間10分
$ date -d "20200101 00:05:00 1 hours ago 10 minutes ago"
2019年 12月 31日 火曜日 22:55:00 JST