PR

Powershellで日時を文字列にしたい

powershell PowerShell
記事内に広告が含まれています。

Powershell でよく日時を文字列にしたい時があります
ログ出力のタイムスタンプや、ファイル名にしたい等…
備忘録を残します

Get-Dateコマンドレットを使う

現在の日時を文字列にするには Get-Date コマンドレットを使います
Get-Date コマンドレットを引数無しで実行すると、戻り値は DateTime 型になりますが、 -Format パラメータを付けると String 型になりますのでこれを利用します

PS C:\> Get-Date | Get-Member


   TypeName: System.DateTime
<以下省略>
PS C:\> Get-Date -Format d | Get-Member


   TypeName: System.String
<以下省略>

よく使う例

-Format は .NET のカスタム日時形式文字列になります
詳細は参考リンクに公式ドキュメントへのリンクを載せましたのでそちら参照

ログのタイムスタンプに使いたい時

PS C:\> $strDate1 = Get-Date -Format "yyyy/MM/dd HH:mm:ss"
PS C:\> $strDate1
2021/08/31 10:56:35
PS C:\>

ファイル名などで数値のみにしたい時

PS C:\> $strDate2 = Get-Date -Format "yyyyMMddHHmmss"
PS C:\> $strDate2
20210831105818
PS C:\>

前提条件

この記事は以下の環境で確認しました

PS C:\> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.19041.1151
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.19041.1151
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1


PS C:\>
Get-Date (Microsoft.PowerShell.Utility) - PowerShell
コマンドレットは Get-Date 、現在の 日付または指定した日付を表す DateTime オブジェクトを取得します。 Get-Date では、日付と時刻を複数の .NET 形式と UNIX 形式で書式設定できます。 日付または時刻の文字...
カスタム日時形式文字列 - .NET
カスタム日時書式指定文字列を使用して、DateTime 値または DateTimeOffset 値をテキスト表現に変換したり、日付と時刻の文字列を解析したりする方法について説明します。

コメント

タイトルとURLをコピーしました