PowerShell에서 DateTime을 형식화하는 방법
다음 Get-Date
과 같이 cmdlet을 아무 문제없이 포맷 할 수 있습니다 .
$date = Get-Date -format "yyyyMMdd"
그러나 변수에 날짜 가 있으면 어떻게 형식을 지정합니까? 아래 진술
$dateStr = $date -format "yyyMMdd"
이 오류를 반환합니다 :
" '-f'연산자의 오른쪽에 값 표현식을 제공해야합니다."
.NET 에서와 동일합니다 .
$DateStr = $Date.ToString("yyyyMMdd")
또는:
$DateStr = '{0:yyyyMMdd}' -f $Date
질문에 대한 답변이 있지만 누락 된 정보가 더 있습니다.
변수 대 Cmdlet
$Date
변수에 값이 있고 -f
연산자는 다음 형식으로 작동 'format string' -f values
합니다. 호출 Get-Date -format "yyyyMMdd"
하면 일부 매개 변수를 사용 하여 cmdlet 을 호출합니다 . "yyyyMMdd"값은 매개 변수 값 Format
(try help Get-Date -param Format
)입니다.
-f
운영자
많은 형식 문자열이 있습니다. 적어도 part1 과 part2를보십시오 . 그녀는를 사용합니다 string.Format('format string', values')
. 이라고 생각 'format-string' -f values
때문에, -f
작업자가 같은 매우 유사하게 작동합니다 string.Format
(방법 스택 오버플로에서 질문에서 더 많은 정보를보기위한 몇 가지 차이점이 (가 있지만 : 어떻게 정확히 수행 PowerShell에서의 -f 운영자 작업의 RHS? ).
당신이 할 수있는 한 가지는 :
$date.ToString("yyyyMMdd")
매우 편리한 (아마도 너무 효율적인 것은 아님) 솔루션은 멤버 함수를 사용하는 것입니다 GetDateTimeFormats()
.
$d = Get-Date
$d.GetDateTimeFormats()
날짜-값에 대한 서식 스타일의 큰 문자열 배열을 출력합니다. 그런 다음 []
-operator 를 통해 배열 요소 중 하나를 선택할 수 있습니다 .
PS C:\> $d.GetDateTimeFormats()[12]
Dienstag, 29. November 2016 19.14
간단하고 좋은 방법은 다음과 같습니다.
$time = (Get-Date).ToString("yyyy:MM:dd")
또는 단순히
(Get-Date).ToString("yyyy:MM:dd")
-Format
옵션 을 반드시 사용해야하는 경우이 작업을 수행하십시오 .
$dateStr = (Get-Date $date -Format "yyyMMdd")
하나
$dateStr = $date.toString('yyyMMdd')
아마 더 효율적입니다 .. :)
DOS에서 이것을 사용하려면 여기를 방문하십시오.
powershell -Command (Get-Date).ToString('yyyy-MM-dd')
HTTP 헤더에서 사용 하기 위해 현재 날짜를 형식화하려는 사람 은 "r"형식 (RFC1123의 약자)을 사용하지만주의해야합니다 ...
PS C:\Users\Me> (get-date).toString("r")
Thu, 16 May 2019 09:20:13 GMT
PS C:\Users\Me> get-date -format r
Thu, 16 May 2019 09:21:01 GMT
PS C:\Users\Me> (get-date).ToUniversalTime().toString("r")
Thu, 16 May 2019 16:21:37 GMT
즉 "ToUniversalTime ()"을 사용하는 것을 잊지 마십시오
매우 유익한 @stej에서 대답 여기지만, 짧은 대답 : 중 다른 옵션 , 당신은 3 개 간단한 옵션 형식을 [System.DateTime] 변수에 저장 :
변수를 Get-Date cmdlet에 전달합니다 .
Get-Date -Format "HH:mm" $date
사용 toString () 메소드 :
$date.ToString("HH:mm")
복합 형식 사용 :
"{0:HH:mm}" -f $date
시간과 형식에 약간의 변화가 필요했습니다. 이것은 내 목적에 잘 작동합니다.
$((get-date).ToLocalTime()).ToString("yyyy-MM-dd HHmmss")
2019-08-16 215757
참고 URL : https://stackoverflow.com/questions/2249619/how-to-format-a-datetime-in-powershell
'Programing' 카테고리의 다른 글
답변 : 디렉토리 안의 파일과 폴더를 삭제하는 방법? (0) | 2020.06.25 |
---|---|
Fiddler가 localhost에 대한 트래픽을 무시하지 못하게하려면 어떻게해야합니까? (0) | 2020.06.25 |
풀 요청으로 병합을 취소 하시겠습니까? (0) | 2020.06.25 |
C : char 포인터와 배열의 차이점 (0) | 2020.06.25 |
VS 코드로 저장할 때 코드 형식을 지정하는 방법 (0) | 2020.06.25 |