#author("2021-03-08T15:44:20+09:00","default:ryuichi","ryuichi")
#author("2021-03-08T15:44:54+09:00","default:ryuichi","ryuichi")
* Get-Date [#g128606f]
** DateTimeオブジェクトの作成 [#g41b1f39]
$dt = get-date -Date "2019-03-17 10:00:00"
$dt = get-date "2019-03-17 10:00:00" # -Dateは省略可
$dt = get-date "2019-03-17" # 時間は省略可
*** 年月日時分秒の個別指定 [#b3602326]
$dt = Get-Date -Year 2021 -Month 12 -Day 25 -Hour 10 -Minute 30 -Second 0
*** UNIXタイム指定 (PowerShell v7以降) [#k5bd85d8]
$dt = Get-Date -UnixTimeSeconds (60*60*24*365*1)
*** 任意のフォーマットによる指定 [#r1e724e4]
$dt = [datetime]::ParseExact("12/25, 2021", "MM/dd, yyyy", $null)
*** UTCに変換して作成 (PowerShell v7以降) [#v0074597]
$dt = Get-Date -AsUTC "2021-04-01 09:00:00" # 9時がUTCに変換されて$dtが作成されてるので、
Write-Host $dt # $dtは 2021年4月1日 0:00:00
** 日付を加算する(減算する) [#u28b0ecc]
$today = Get-Date
$tomorrow = $today.AddDays(1)
Write-Host (Get-Date).AddDays(-7)
** 曜日を数値で取得する [#xc2e7241]
$str = (Get-Date).DayOfWeek # => Sunday
$num = [Int] (Get-Date).DayOfWeek # => 0
** 表示 [#q248e8af]
*** 任意のフォーマットで表示 [#s346d197]
$dt = Get-Date
Write-Host $dt.ToString('yyyyMMdd')
Write-Host ('{0:yyyyMMdd}' -f $dt)
*** UTCで表示 [#z5078b7b]
$dt = Get-Date "2021-04-01 9:00:00"
$dt.ToUniversalTime() # => 2021年4月1日 0:00:00
** 参考 [#t1d79260]
https://technet.microsoft.com/en-us/library/ff730960.aspx
*** 日付フォーマット文字列 [#y8e35edc]
https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings