シェルスクリプトを使うと、システムの現在時刻を簡単に取得して利用することができます。
現在時刻を取得する方法にはいくつかの方法がありますが、最も一般的に使用されるのは date マンドです。この記事では、dateコマンドを使った現在時刻の取得方法から、さまざまなフォーマット指定の方法までを詳しく解説します。
目次
dateコマンドの基本的な使い方
デフォルトでdateコマンドを実行すると、現在の日時が標準的なフォーマットで表示されます。
#!/bin/bash
current_time=$(date)
echo "現在の時刻: $current_time"
時刻のフォーマット指定
dateコマンドでは、+オプションを使ってフォーマットを指定することで、出力形式をカスタマイズできます。フォーマット指定子を使うことで、年月日や時刻の表示形式を自由に設定できます。
主なフォーマット指定子は以下の通りです。
- %Y – 年(4桁)
- %m – 月(2桁)
- %d – 日(2桁)
- %H – 時(24時間制、2桁)
- %M – 分(2桁)
- %S – 秒(2桁)
例えば、次のスクリプトでは、YYYY-mm-dd HH:MM:SS形式で現在の時刻を表示します。
#!/bin/bash
current_time=$(date "+%Y-%m-%d %H:%M:%S")
echo "現在の時刻: $current_time"
時刻のタイムゾーン指定
dateコマンドでは、タイムゾーンを指定することもできます。例えば、UTCや特定の地域のタイムゾーンで時刻を取得する場合に便利です。
#!/bin/bash
current_time_utc=$(TZ=UTC date "+%Y-%m-%d %H:%M:%S")
current_time_japan=$(TZ=Asia/Tokyo date "+%Y-%m-%d %H:%M:%S")
echo "現在のUTC時刻: $current_time_utc"
echo "現在の日本標準時刻: $current_time_japan"
このスクリプトでは、UTCタイムゾーンと日本標準時(JST)での現在時刻を表示します。
まとめ
dateコマンドを使用することで現在の日時を取得し、必要に応じてフォーマットやタイムゾーンを指定することができます。