cheshire-boy

システム・サービス

【Get-Date】PowerShellで現在の日付や時刻を取得する方法とは?フォーマットの変更は?

投稿日:2016年11月19日 更新日:

こんにちは。チェシャ男です。(-皿-)

今回は、

【PowerShell で時刻の取得し表示形式を変更する方法】

についてご紹介します。

今回紹介する ”Get-Date” コマンドレットでは時間や日付を取得することができます。

日付や時間の取得や表示形式の変更はプログラミングスクリプトを書く上でよく使うため知っておくべきコマンドレットだと思います!

システムの時刻・日付を設定するコマンドレットについてはこちら↓をご参考ください。

スポンサーリンク

Get-Date で現在の時刻と日付を取得する

日付/時刻を取得するコマンドレットに

Get-Date

というものがあります。

【コマンドレット】

Get-Date

【オプション】

-Date           <日付時刻データ>
-Year            <年>
-Month         <月>
-Day            <日>
-Hour           <時>
-Minute        <分>
-Second       <秒>
-Millisecond  <ミリ秒>
-DisplayHint <表示タイプ>
-Format       <Windows型書式設定>
-UFormat     <UNIX型書式設定>

【入力】

System.DateTime

【出力】

System.DateTime
System.String

【エイリアス】

なし

現在時刻を取得する

現在の日付や時刻を取得してみましょう。

オプションを何もつけない場合は自動的に現在の日付時刻が表示されます。

Get-Date

⇒ 今日の日付   現在の時刻

⇒ ○○ ○○○○○○

実際の実行結果はこちらです。

非常にシンプルですね。

ちなみに、”-DisplayHint” オプションを使用することで表示させる情報を「日付」「時刻」「日付&時刻」から指定することができます。指定する際のパラメータは、

【-DisplayHint】

Date       ⇒ 日付
DateTime⇒ 日付&時刻
Time      ⇒ 時刻

となっています。実際の実行結果は下のようになります。

年・月・日・時・分・秒からデータを選んで表示する

上にも書いたように Get-Date コマンドレットで取得する日付のデータは「System.DateTime」という型を持っています。

日付や時刻を専門に取り扱うデータ型ということです。

実際にどのようなプロパティを持っているか確認してみましょう。プロパティはGet-Memberで確認します。

※プロパティについては、【「メソッドとプロパティの違い」】をご覧ください。

ご覧のように時間日付に関するプロパティをいくつか持っていることが分かります。

この中で時刻や日付から特定のデータを取り出す主なプロパティは、

【日付】

Date          =  日付
Year          =   年
Month        =  月
Day           =  日
DayOfWeek=  曜日
DayOfYear  = 1年で何日目か(積載日)

【時刻】

Hour          =  時
Minute       =  分
Second      =  秒
Millisecond =  100分の1秒

Get-Date から月や日、時間や分を指定して表示させたい場合は以下のように”. (ドット演算子)”で呼び出します。

他にもプロパティやメソッドがあるので状況に合わせて使い分けてみましょう。

Get-Dateで指定した日付・時刻を表示させる

ここまでは現在の日付や時刻を表示させる方法について解説しました。

しかし、Get-Date コマンドレットは

ある特定の日付や時刻の「System.DateTime」を表示

することができます。

それぞれ、”-Year” ”-Day” ”-Hour” ”-Minute” といったオプションを使用します。

Get-Date -<指定したいオプション> 指定する内容

といった文法です。

例えば、「マヤ暦で世界が破滅する日」と皆が恐れた2015年9月3日を表示させる場合は

といった具合ですね。

Get-Date の出力フォーマットを変更する

Get-Date コマンドレットでは ”-UFormat” および ”-Format” オプションを使用することで表示の書式(フォーマット)をい変更することができます。

それぞれの違いは Windows 形式で指定するか UNIX 形式で指定するかと行くものです。

”-UFormat” オプションで UNIX 形式の書式設定

-UFormat” オプションを使用する場合は UNIX 形式で出力フォーマットを指定します。

代表的な書式指定子は下の表を参考にしてください。

書式 取得する情報
%Y 年(西暦4桁)
%y 年(西暦下2桁)
%m 月(01~12)
%B 月(January~December)
%d 日(01~31)
%H 時(00~23)
%h 時(01~12)
%M 分(00~59)
%S 秒(00~59)
%p 午前/午後

例として、これらの書式指定子で日時を指定するには

yyyy/mm/dd        =>    %Y/%m/%d

yy/mm/dd            =>    %y/%m/%d

yyyy-mm-dd         =>    %Y-%m-%d

hh:mm                 =>    %H:%M

hh:mm:ss AM/PM  =>    %H:%M:%S %p

のような指定方法があります。

実際にオプションでフォーマットを指定してみましょう。

このように UNIX 形式でフォーマットを指定することができます。

”-Format” オプションで Windows 形式の書式設定

-Format” オプションを使用する場合は Windows 形式で出力フォーマットを指定します。

代表的な書式指定子は下の表を参考にしてください。

書式 取得する情報
yyyy(またはYYYY) 年(西暦4桁)
yy(またはYY) 年(西暦下2桁)
MM 月(01~12)
dd 日(01~31)
HH 時(00~23)
hh 時(01~12)
mm 分(00~59)
ss 秒(00~59)
d 短い形式の日付パターン
D 長い形式の日付パターン
t 短い形式の時刻パターン
T 長い形式の時刻パターン

例として、これらの書式指定子で日時を指定するには

yyyy/mm/dd        =>    yyyy/MM/dd または g

yy/mm/dd            =>    yy/MM/dd

yyyy-mm-dd         =>    yyyy-MM-dd

hh:mm                 =>    hh:mm または t

hh:mm:ss             =>    hh:mm:ss または T

のような指定方法があります。

短い形式の○○長い形式の○○という指定方法が特徴的ですね。

実際にオプションでフォーマットを指定してみましょう。

このように Windows 形式のフォーマット指定が可能です。

日付や時刻の書式指定子は他にも種類があるので、あなたが表示したい内容に合わせて設定してみてください。

まとめ

現在の日付・時刻を取得する場合は

Get-Date

を使用する。

表示内容を指定する場合は

-DisplayHint

UNIX形式で書式指定する場合は

-UFormat

Windows形式で書式指定する場合は

ーFormat

スポンサーリンク

-システム・サービス
-, , , , ,

Copyright© 【チェシャわら】PowerShellとは、から学ぶ入門者の教科書-脱コマンドプロンプト- , 2018 AllRights Reserved Powered by micata2.