シェルスクリプトで現在時刻を取得する方法

シェルスクリプトを使うと、システムの現在時刻を簡単に取得して利用することができます。

現在時刻を取得する方法にはいくつかの方法がありますが、最も一般的に使用されるのは 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コマンドを使用することで現在の日時を取得し、必要に応じてフォーマットやタイムゾーンを指定することができます。

スポンサーリンク

シェアする

フォローする