2015-06-10

PowerShellで日付を取得・操作する

今回はこれまでと少し路線を変更し、「日付の取得・操作」について書いていきます。

PowerShellで日付の取得といえば、Get-Dateコマンドレット (エイリアスは Date )です。
 まずは通常のGet-Dateコマンドレットを実行してみましょう。

PowerShellを起動し、「Get-Date」と入力します。

  -----------------------------------------------------------------------------
    PS C:\> Get-Date
    2015年6月10日 13:10:30
  -----------------------------------------------------------------------------

現在の日付と時間が表示されますね。
では次から、応用編です。

Get-Dateコマンドレットは、メソッドを追加することによって、いろんな条件で日付を取得することができます。

 ここから一気にメソッドとその実行結果をご紹介します。




1.現在から3ヵ月後の日付を取得する
  -----------------------------------------------------------------------------
    PS C:\> (Get-Date).AddMonths(3)
    2015年9月10日 13:10:30
  -----------------------------------------------------------------------------

2.現在から2ヶ月前の日付を取得する
-----------------------------------------------------------------------------
    PS C:\> (Get-Date).AddMonths(-2)
    2015年4月10日 13:10:30
  -----------------------------------------------------------------------------

上記2つは月数の加算・減算を行いましたが、他にも日数や年数、時・分・秒・ミリ秒の加算・減算が可能です。

メソッド               説明
AddDays             現在日時に指定した日数を加算します
AddHours            現在日時に指定した時間を加算します
AddMilliseconds   現在日時に指定したミリ秒を加算します
AddMonths          現在日時に指定した月数を加算します
AddSeconds        現在日時に指定した秒を加算します
AddYears            現在日時に指定した年数を加算します


3.日付のみを取得する
-----------------------------------------------------------------------------
     PS C:\> (Get-Date).ToShortDateString()
     2015/06/10
  -----------------------------------------------------------------------------

4.時刻のみを取得する
  -----------------------------------------------------------------------------
     PS C:\> (Get-Date).ToShortTimeString()
     13:10
  -----------------------------------------------------------------------------

5. 任意の書式で日付・時刻を取得する
    -----------------------------------------------------------------------------
    PS C:\> (Get-Date).ToString("yyyy年MM月dd日")
     2015年06月10日
  -----------------------------------------------------------------------------
  -----------------------------------------------------------------------------
    PS C:\> (Get-Date).ToString("yyyy-MM-dd")
     2015-06-01
  -----------------------------------------------------------------------------
  -----------------------------------------------------------------------------
    PS C:\> (Get-Date).ToString("yyyy-MM-dd-hh-mm-ffff")
    2015-06-10-13-10-3092
  -----------------------------------------------------------------------------
    PS C:\> (Get-Date).ToString("yyyyMMdd")
    20150610
  -----------------------------------------------------------------------------

6.指定日時の曜日を取得する
  -----------------------------------------------------------------------------
    PS C:\> (Get-Date 2015/06/10).DayOfWeek
    Wednesday
  -----------------------------------------------------------------------------


私が個人的に厳選したものを一気に紹介しました。

上記の中で、特に私が使用しているのが、yyyyMMdd形式で取得することです。
例えばこんな使い方をしています。

---------ここから-------------------------------------------------------------------------------------
# 当日の日付を取得
$DAY = (Get-Date).ToString("yyyyMMdd")

# 雛形をコピーし、当日分のExcelを作成する
copy-item -Path "C:\作業フォルダ\雛形.xlsx" -Destination "C:\作業フォルダ\$DAY.xlsx"
---------ここまで-------------------------------------------------------------------------------------

こうすると、雛形.xlsxがコピーされ、当日の日付のExcelファイル(例えば20150610.xlsx)が作成されます。

たったこれだけですが、当初は毎日手作業でコピーやリネームを行っていたので、ずいぶんと楽になりました。

他にも様々な部分で使えると思いますので、ぜひ活用して、日々の作業を効率UPしてください!

=======================================================================
本投稿に関する疑問や質問には可能な限りお答えさせていただきます。
お気軽にコメントやメールをお送りください。
(リクエストも歓迎します)
メール:tkk-powershell@gmail.com
また、間違いのご指摘・アドバイス等も歓迎いたします。
=======================================================================
Google+、Twitterで更新情報をお届けしています!
ぜひフォローをお願い致します!           
=======================================================================
スポンサーリンク


0 件のコメント:

コメントを投稿

疑問・質問・リクエスト お気軽にどうぞ (^O^)/