#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

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS