Get-Date
現在の日付と時刻を取得します。
構文
Get-Date
[[-Date] <DateTime>]
[-Year <Int32>]
[-Month <Int32>]
[-Day <Int32>]
[-Hour <Int32>]
[-Minute <Int32>]
[-Second <Int32>]
[-Millisecond <Int32>]
[-DisplayHint <DisplayHintType>]
[-Format <String>]
[-AsUTC]
[<CommonParameters>]
Get-Date
[[-Date] <DateTime>]
[-Year <Int32>]
[-Month <Int32>]
[-Day <Int32>]
[-Hour <Int32>]
[-Minute <Int32>]
[-Second <Int32>]
[-Millisecond <Int32>]
[-DisplayHint <DisplayHintType>]
-UFormat <String>
[<CommonParameters>]
Get-Date
-UnixTimeSeconds <Int64>
[-Year <Int32>]
[-Month <Int32>]
[-Day <Int32>]
[-Hour <Int32>]
[-Minute <Int32>]
[-Second <Int32>]
[-Millisecond <Int32>]
[-DisplayHint <DisplayHintType>]
[-Format <String>]
[-AsUTC]
[<CommonParameters>]
Get-Date
-UnixTimeSeconds <Int64>
[-Year <Int32>]
[-Month <Int32>]
[-Day <Int32>]
[-Hour <Int32>]
[-Minute <Int32>]
[-Second <Int32>]
[-Millisecond <Int32>]
[-DisplayHint <DisplayHintType>]
-UFormat <String>
[<CommonParameters>]
説明
コマンドレットは Get-Date
、現在の日付または指定した日付を表す DateTime オブジェクトを取得します。 Get-Date
では、日付と時刻を複数の .NET 形式と UNIX 形式で書式設定できます。 日付または時刻の文字列を生成し、その文字列を他のコマンドレットまたはプログラムに送信するために使用 Get-Date
できます。
Get-Date
では、コンピューターのカルチャ設定を使用して、出力の書式設定方法を決定します。 コンピューターの設定を表示するには、次を使用 (Get-Culture).DateTimeFormat
します。
例
例 1: 現在の日付と時刻を取得する
この例では、 Get-Date
現在のシステムの日付と時刻を表示します。 出力は、長い日付形式と長い形式です。
Get-Date
Tuesday, June 25, 2019 14:53:32
例 2: 現在の日時の要素を取得する
この例では、date 要素または time 要素を取得するために使用 Get-Date
する方法を示します。 このパラメーターでは、 引数 Date、 Time、または DateTime を使用します。
Get-Date -DisplayHint Date
Tuesday, June 25, 2019
Get-Date
は、Date 引数を指定して DisplayHint パラメーターを使用して、日付のみを取得します。
例 3: .NET 書式指定子を使用して日付と時刻を取得する
この例では、出力の形式をカスタマイズするために .NET 書式指定子を使用します。 出力は String オブジェクトです。
Get-Date -Format "dddd MM/dd/yyyy HH:mm K"
Tuesday 06/25/2019 16:17 -07:00
Get-Date
は、 Format パラメーターを使用して複数の書式指定子を指定します。
この例で使用する .NET 書式指定子は、次のように定義されます。
指定子 | 定義 |
---|---|
dddd |
曜日 - フル ネーム |
MM |
月の番号 |
dd |
月の日 - 2 桁 |
yyyy |
4 桁の形式の年 |
HH:mm |
24 時間形式の時刻 - 秒なし |
K |
世界時座標 (UTC) からのタイム ゾーン オフセット |
.NET 書式指定子の詳細については、「 カスタム日時書式指定文字列」を参照してください。
例 4: UFormat 指定子を使用して日付と時刻を取得する
この例では、出力の形式をカスタマイズするために、いくつかの UFormat 書式指定子を使用します。 出力は String オブジェクトです。
Get-Date -UFormat "%A %m/%d/%Y %R %Z"
Tuesday 06/25/2019 16:19 -07
Get-Date
では、 UFormat パラメーターを使用して複数の書式指定子を指定します。
この例で使用する UFormat 書式指定子は、次のように定義されます。
指定子 | 定義 |
---|---|
%A |
曜日 - フル ネーム |
%m |
月の番号 |
%d |
月の日 - 2 桁 |
%Y |
4 桁の形式の年 |
%R |
24 時間形式の時刻 - 秒なし |
%Z |
世界時座標 (UTC) からのタイム ゾーン オフセット |
有効な UFormat 書式 指定子の一覧については、「 メモ 」セクションを参照してください。
例 5: 年の日付の日を取得する
この例では、プロパティを使用して年の数値の日を取得します。
グレゴリオ暦は、366 日の閏年を除き、365 日です。 たとえば、2020 年 12 月 31 日は 366 日目です。
(Get-Date -Year 2020 -Month 12 -Day 31).DayOfYear
366
Get-Date
では、 年、 月、 および日の 3 つのパラメーターを使用して日付を指定します。 コマンドはかっこで囲まれ、 DayofYear プロパティによって結果が評価されます。
例 6: 夏時間に合わせて日付が調整されているかどうかを確認する
この例では、ブール値メソッドを使用して、夏時間によって日付が調整されているかどうかを確認します。
$DST = Get-Date
$DST.IsDaylightSavingTime()
True
変数の $DST
結果 Get-Date
を格納します。 $DST
IsDaylightSavingTime メソッドを使用して、夏時間に合わせて日付が調整されているかどうかをテストします。
例 7: 現在の時刻を UTC 時刻に変換する
この例では、現在の時刻は UTC 時刻に変換されます。 システムのロケールの UTC オフセットは、時刻の変換に使用されます。 [メモ] セクションの表に、有効な UFormat 書式指定子が一覧表示されます。
Get-Date -UFormat "%A %B/%d/%Y %T %Z"
$Time = Get-Date
$Time.ToUniversalTime()
Wednesday June/26/2019 10:45:26 -07
Wednesday, June 26, 2019 17:45:26
Get-Date
は、現在のシステムの日付と時刻を表示するために、書式指定子と 共に UFormat パラメーターを使用します。 書式指定子 %Z は 、-07 の UTC オフセットを表します。
変数には $Time
、現在のシステムの日付と時刻が格納されます。 $Time
ToUniversalTime() メソッドを使用して、コンピューターの UTC オフセットに基づいて時刻を変換します。
例 8: タイムスタンプを作成する
この例では、書式指定子によってディレクトリ名のタイムスタンプ 文字列 オブジェクトが作成されます。 タイムスタンプには、日付、時刻、および UTC オフセットが含まれます。
$timestamp = Get-Date -Format o | ForEach-Object { $_ -replace ":", "." }
New-Item -Path C:\Test\$timestamp -Type Directory
Directory: C:\Test
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 6/27/2019 07:59 2019-06-27T07.59.24.4603750-07.00
変数には $timestamp
、コマンドの結果が Get-Date
格納されます。 Get-Date
は、小文字o
の書式指定子を持つ Format パラメーターを使用して、タイムスタンプ文字列オブジェクトを作成します。 オブジェクトがパイプライン ForEach-Object
の下に送信されます。 ScriptBlock には、現在の$_
パイプライン オブジェクトを表す変数が含まれています。 タイムスタンプ文字列は、ピリオドに置き換えられるコロンで区切られます。
New-Item
Path パラメーターを使用して、新しいディレクトリの場所を指定します。 パスには、 $timestamp
ディレクトリ名として変数が含まれています。 Type パラメーターは、ディレクトリが作成されることを指定します。
例 9: Unix タイムスタンプを変換する
この例では、Unix 時間 (1970-01-01 0:00:00 以降の秒数で表されます) を DateTime に変換します。
Get-Date -UnixTimeSeconds 1577836800
Wednesday, January 01, 2020 12:00:00 AM
例 10: UTC として解釈される日付値を返す
この例では、日付値を UTC と同等の値として解釈する方法を示します。 この例では、このマシンは 太平洋標準時に設定されています。 既定では、 Get-Date
そのタイムゾーンの値を返します。 AsUTC パラメーターを使用して、値を UTC と同等の時刻に変換します。
PS> Get-TimeZone
Id : Pacific Standard Time
DisplayName : (UTC-08:00) Pacific Time (US & Canada)
StandardName : Pacific Standard Time
DaylightName : Pacific Daylight Time
BaseUtcOffset : -08:00:00
SupportsDaylightSavingTime : True
PS> (Get-Date -Date "2020-01-01T00:00:00").Kind
Unspecified
PS> Get-Date -Date "2020-01-01T00:00:00"
Wednesday, January 1, 2020 12:00:00 AM
PS> (Get-Date -Date "2020-01-01T00:00:00" -AsUTC).Kind
Utc
PS> Get-Date -Date "2020-01-01T00:00:00" -AsUTC
Wednesday, January 1, 2020 8:00:00 AM
パラメーター
-AsUTC
日付値を UTC で等価の時刻に変換します。
このパラメーターは、PowerShell 7.1 で導入されました。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Date
日付と時刻を指定します。 時刻は省略可能で、指定しない場合は 00:00:00 を返します。
システム ロケールの標準形式で日付と時刻を入力します。
たとえば、米国英語では次のようになります。
Get-Date -Date "6/25/2019 12:30:22"
returns 火曜日, 6 月 25, 2019 12:30:22
Type: | DateTime |
Aliases: | LastWriteTime |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Day
表示されている月の日にちを指定します。 1 ~ 31 の値を入力します。
指定した値が 1 か月の日数より大きい場合、PowerShell はその月に日数を加算します。 たとえば、 Get-Date -Month 2 -Day 31
2 月 31 日ではなく 3 月 3 日を表示します。
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DisplayHint
表示する日付と時刻の要素を決定します。
許容される値は次のとおりです。
- 日付: 日付のみを表示します
- 時間: 時刻のみを表示します。
- DateTime: 日付と時刻を表示します
Type: | DisplayHintType |
Accepted values: | Date, Time, DateTime |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Format
書式指定子で示される Microsoft .NET Framework 形式で日付と時刻を表示します。 Format パラメーターは、String オブジェクトを出力します。
使用可能な .NET 書式指定子の一覧については、「 カスタム日時書式指定文字列」を参照してください。
Format パラメーターを使用する場合は、Get-Date
日付を表示するために必要な DateTime オブジェクトのプロパティのみを取得します。 その結果、DateTime オブジェクトの一部のプロパティとメソッドを利用できなくなる場合があります。
PowerShell 5.0 以降では、 Format パラメーターの値として次の追加の形式を使用できます。
FileDate。 ローカル時刻での現在の日付のファイルまたはパスフレンドリ表現。 形式は (大文字と小文字が
yyyyMMdd
区別され、4 桁の年、2 桁の月、2 桁の日を使用します)。 例: 20190627。FileDateUniversal。 現在の日付を世界時 (UTC) でファイルまたはパスにわかりやすい形式で表します。 形式は (大文字と小文字が
yyyyMMddZ
区別され、4 桁の年、2 桁の月、2 桁の日、UTC インジケーターとして文字Z
が使用されます)。 例: 20190627Z。FileDateTime。 現在の日付と時刻を 24 時間形式でローカル時刻で表すファイルまたはパスに優しい表現。 形式は大文字と小文字が
yyyyMMddTHHmmssffff
区別されます (4 桁の年、2 桁の月、2 桁の日、時刻の区切り記号としての文字T
、2 桁の時間、2 桁の分、2 桁の秒、4 桁のミリ秒を使用)。 例: 20190627T0840107271。FileDateTimeUniversal。 現在の日付と時刻を 24 時間形式で表すファイルまたはパスに優しい表現 (世界時 (UTC)。 形式は大文字と小文字が
yyyyMMddTHHmmssffffZ
区別されます (4 桁の年、2 桁の月、2 桁の日、時刻区切り記号として文字T
、2 桁の時間、2 桁の分、2 桁の秒、4 桁のミリ秒、UTC インジケーターとして文字Z
を使用)。 例: 20190627T1540500718Z。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Hour
表示する時を指定します。 0 から 23 の値を入力します。
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Millisecond
日付のミリ秒を指定します。 0 から 999 の値を入力します。
このパラメーターは、PowerShell 3.0 で導入されました。
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Minute
表示する分を指定します。 0 から 59 の値を入力します。
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Month
表示する月を指定します。 1 から 12 の値を入力します。
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Second
表示する秒を指定します。 0 から 59 の値を入力します。
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UFormat
UNIX 形式で日付と時刻を表示します。 UFormat パラメーターは、文字列オブジェクトを出力します。
UFormat 指定子の前には、パーセント記号 (%
、例: ,%d
、%m
%Y
. [メモ] セクションには、有効な UFormat 指定子のテーブルが含まれています。
UFormat パラメーターを使用する場合は、Get-Date
日付を表示するために必要な DateTime オブジェクトのプロパティのみを取得します。 その結果、DateTime オブジェクトの一部のプロパティとメソッドを利用できなくなる場合があります。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UnixTimeSeconds
日付と時刻は、1970 年 1 月 1 日 0:00:00 以降の秒数で表されます。
このパラメーターは、PowerShell 7.1 で導入されました。
Type: | Int64 |
Aliases: | UnixTime |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Year
表示する年を指定します。 1 から 9999 までの値を入力します。
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
入力
Pipeline input
Get-Date
はパイプライン入力を受け入れます。 たとえば、Get-ChildItem | Get-Date
のようにします。
出力
System.DateTime or System.String
Get-Date
は、Format パラメーターと UFormat パラメーターを使用する場合を除き、DateTime オブジェクトを返します。 Format パラメーターまたは UFormat パラメーターは、文字列オブジェクトを返します。
DateTime オブジェクトが、文字列入力を必要とするコマンドレットにAdd-Content
パイプラインを送信すると、PowerShell はそのオブジェクトを String オブジェクトに変換します。
このメソッド (Get-Date).ToString()
は 、DateTime オブジェクトを String オブジェクトに変換します。
オブジェクトのプロパティとメソッドを表示するには、パイプラインの下にオブジェクトを送信します Get-Member
。
たとえば、Get-Date | Get-Member
のようにします。
メモ
DateTime オブジェクトは、システム ロケールの長い日付形式と長い形式です。
有効な UFormat 指定子 が次の表に表示されます。
書式指定子 | 意味 | 例 |
---|---|---|
%A |
曜日 - フル ネーム | 月曜日 |
%a |
曜日 - 短縮名 | Mon |
%B |
月名 - 完全 | January |
%b |
月名 - 省略形 | 1 月 |
%C |
世紀 | 2019 年の場合は 20 |
%c |
日付と時刻 - 省略形 | 2019年6月27日(木) 08:44:18 |
%D |
日付 (mm/dd/yy 形式) | 06/27/19 |
%d |
月の日 - 2 桁 | 05 |
%e |
月の日 - 1 桁のみの場合はスペースが前に付く | <スペース>5 |
%F |
%Y-%m-%d (ISO 8601 日付形式) と等しい YYYY-mm-dd 形式の日付 | 2019-06-27 |
%G |
'Y' と同じです | |
%g |
'y' と同じ | |
%H |
24 時間形式の時間 | 17 |
%h |
'b' と同じです | |
%I |
12 時間形式の時間 | 05 |
%j |
年の日 | 1-366 |
%k |
'H' と同じです | |
%l |
'I' と同じです (大文字の I) | 05 |
%M |
分 | 35 |
%m |
月の番号 | 06 |
%n |
改行文字 | |
%p |
AM または PM | |
%R |
24 時間形式の時刻 -秒なし | 17:45 |
%r |
12 時間形式の時刻 | 09:15:36 AM |
%S |
秒 | 05 |
%s |
1970 年 1 月 1 日から経過した秒数 00:00:00 | 1150451174 |
%t |
水平タブ文字 | |
%T |
24 時間制の時刻 | 17:45:52 |
%U |
'W' と同じです | |
%u |
曜日 - 数値 | 日曜日 = 0 |
%V |
年の週 | 01-53 |
%w |
'u' と同じです | |
%W |
年の週 | 00-52 |
%X |
'T' と同じです | |
%x |
ロケールの標準形式の日付 | 06/27/19 英語-米国 |
%Y |
4 桁の形式の年 | 2019 |
%y |
2 桁の形式の年 | 19 |
%Z |
世界時座標 (UTC) からのタイム ゾーン オフセット | -07 |