Bash でタイムスタンプを取得する
この記事では、システムの日付/時刻と UNIX タイムスタンプを取得する date Bash コマンドについて説明します。
Bash で date コマンドを使用してタイムスタンプを取得する
Linux ターミナルは date コマンドを使用して現在の日付と時刻を表示します。 date コマンドの最も単純なバージョンは、引数なしで実行できます。
以下は、システムの現在の日付と時刻を示す date コマンドの出力例です。
Thu Aug 25 08:43:54 UTC 2022
date コマンドで別の引数を使用して、特定の印刷形式を設定できます。 たとえば、コマンド date +"%m-%d-%y" は、次の形式で日付を出力します。
08-25-22
上記のコマンドでは、%m は月を示すために使用され、%d は日を示すために使用され、%y は年を示すために使用されます。 同様に、date コマンドをさまざまな形式で使用できます。
date +"%T" コマンドを使用してのみ、現在の時刻を表示できます。 %T は時刻のみを出力するために使用されます。
date +"%T" の出力は次のとおりです。
09:01:00
UNIX タイムスタンプを取得する
date コマンドを使用して、date +%s コマンドを使用して UNIX タイムスタンプを表示できます。 date +%s の出力は次のとおりです。
1661417510
上記の出力は UNIX タイムスタンプです。
Bash スクリプトで日付/時刻を取得する
Bash スクリプトで date コマンドを使用することもできます。 端末に現在の日付を表示するには、次の Bash スクリプト myscript.sh を検討してください。
#!/bin/bash
echo $(date)
./myscript.sh を使用して上記のスクリプトを実行すると、端末に現在の日付が出力されます。
UNIX タイムスタンプを変数に格納する
date コマンドを変数に使用して、現在の日付を任意の形式で保存することもできます。
次のスクリプトを検討してください。
#!/bin/bash
timestamp=$(date)
echo $(timestamp)
次のスクリプトでは、timestamp は現在の日付を格納する変数です。 上記のスクリプトを実行すると、echo コマンドにより、ターミナル コンソールに timestamp 変数の値が表示されます。
注: Bash スクリプトの変数には、任意の日付と時刻の形式を格納できます。
たとえば、次を使用できます。
timestamp=$(date +%s)は UNIX タイムスタンプを変数timestampに保存します。timestamp=$(date +%T)は、現在の時刻を変数timestampに格納します。timestamp=$(date +"%m-%d-%y")は、現在の日付を変数timestampに格納します。