Get-Date
현재 날짜 및 시간을 가져옵니다.
구문
Get-Date
[[-Date] <DateTime>]
[-Year <Int32>]
[-Month <Int32>]
[-Day <Int32>]
[-Hour <Int32>]
[-Minute <Int32>]
[-Second <Int32>]
[-Millisecond <Int32>]
[-DisplayHint <DisplayHintType>]
[-Format <String>]
[<CommonParameters>]
Get-Date
[[-Date] <DateTime>]
[-Year <Int32>]
[-Month <Int32>]
[-Day <Int32>]
[-Hour <Int32>]
[-Minute <Int32>]
[-Second <Int32>]
[-Millisecond <Int32>]
[-DisplayHint <DisplayHintType>]
[-UFormat <String>]
[<CommonParameters>]
Description
cmdlet은 Get-Date
지정한 현재 날짜 또는 날짜를 나타내는 DateTime 개체를 가져옵니다. Get-Date
은 여러 .NET 및 UNIX 형식으로 날짜 및 시간 형식을 지정할 수 있습니다. 날짜 또는 시간 문자열을 생성한 다음 문자열을 다른 cmdlet 또는 프로그램으로 보내는 데 사용할 Get-Date
수 있습니다.
Get-Date
는 운영 체제의 현재 문화권 설정을 사용하여 출력의 형식을 지정하는 방법을 결정합니다. 컴퓨터의 설정을 보려면 .를 사용합니다 (Get-Culture).DateTimeFormat
.
예제
예제 1: 현재 날짜 및 시간 가져오기
이 예제에서는 Get-Date
현재 시스템 날짜 및 시간을 표시합니다. 출력은 장기 및 장기 형식입니다.
Get-Date
Tuesday, June 25, 2019 14:53:32
예제 2: 현재 날짜 및 시간의 요소 가져오기
이 예제에서는 날짜 또는 시간 요소를 가져오는 데 사용하는 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 형식 지정자 목록은 Notes 섹션을 참조하세요.
예제 5: 날짜의 연도 날짜 가져오기
이 예제에서 속성은 연도의 숫자 일을 가져오는 데 사용됩니다.
그레고리오력은 366일인 윤년을 제외하고 365일이 있습니다. 예를 들어 2020년 12월 31일은 366일입니다.
(Get-Date -Year 2020 -Month 12 -Day 31).DayOfYear
366
Get-Date
에서는 세 개의 매개 변수를 사용하여 연도, 월 및 일의 날짜를 지정합니다. 이 명령은 DayofYear 속성에 의해 결과가 평가되도록 괄호로 래핑됩니다.
예제 6: 일광 절약 시간을 위해 날짜가 조정되었는지 확인
이 예제에서는 부울 메서드를 사용하여 일광 절약 시간제에 따라 날짜가 조정되는지 확인합니다.
$DST = Get-Date
$DST.IsDaylightSavingTime()
True
변수는 $DST
.의 Get-Date
결과를 저장합니다. $DST
는 IsDaylightSavingTime 메서드를 사용하여 일광 절약 시간제에 맞게 날짜가 조정되었는지 테스트합니다.
예제 7: 현재 시간을 UTC 시간으로 변환
이 예제에서 현재 시간은 UTC 시간으로 변환됩니다. 시스템 로캘의 UTC 오프셋은 시간을 변환하는 데 사용됩니다. Notes 섹션의 표에는 유효한 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: 타임스탬프 만들기
이 예제에서 형식 지정자는 디렉터리 이름에 대한 타임스탬프 String 개체를 만듭니다. 타임스탬프에는 날짜, 시간 및 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
에서는 Format 매개 변수를 소문 o
자의 형식 지정자와 함께 사용하여 타임스탬프 String 개체를 만듭니다. 개체가 파이프라인 아래로 전송됩니다 ForEach-Object
. ScriptBlock에는 현재 파이프라인 개체를 $_
나타내는 변수가 포함됩니다. 타임스탬프 문자열은 마침표로 대체되는 콜론으로 구분됩니다.
New-Item
에서는 Path 매개 변수를 사용하여 새 디렉터리의 위치를 지정합니다. 경로에는 변수가 $timestamp
디렉터리 이름으로 포함됩니다. Type 매개 변수는 디렉터리가 생성되도록 지정합니다.
예제 9: 고정 문화권 표시
현재 ToString()
문화권 설정을 사용하여 DateTime 개체를 String으로 변환합니다.
그러나 PowerShell 식 해석은 항상 고정 문화권 설정을 사용합니다.
예를 들어 문화권이 적용된 en-US
시스템에서 메서드는 ToString()
문화권 설정을 사용하여 날짜의 형식을 en-US
지정합니다.
# Get date using current culture en-US
(Get-Date 2024-03-19).ToString()
3/19/2024 12:00:00 AM
# Get date using invariant culture
"$(Get-Date 2024-03-19)"
03/19/2024 00:00:00
매개 변수
-Date
날짜 및 시간을 지정합니다. 시간은 선택 사항이며 지정하지 않으면 00:00:00을 반환합니다. 현재 선택한 로캘의 표준 형식으로 날짜와 시간을 입력합니다. cmdlet을 사용하여 현재 로캘을 Set-Culture
변경할 수 있습니다.
예를 들어 미국 영어:
Get-Date -Date "6/25/2019 12:30:22"
반환 화요일, 6 월 25, 2019 12:30:22
형식: | DateTime |
별칭: | LastWriteTime |
Position: | 0 |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-Day
표시되는 월의 일을 지정합니다. 1에서 31까지의 값을 입력합니다.
지정된 값이 월의 일 수보다 크면 PowerShell은 해당 월에 일 수를 추가합니다. 예를 들어 Get-Date -Month 4 -Day 31
4월 31일이 아닌 5월 1일을 표시합니다.
형식: | Int32 |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-DisplayHint
표시되는 날짜 및 시간의 요소를 결정합니다.
허용되는 값은 다음과 같습니다.
- 날짜: 날짜만 표시합니다.
- 시간: 시간만 표시합니다.
- DateTime: 날짜 및 시간을 표시합니다.
형식: | DisplayHintType |
허용되는 값: | Date, Time, DateTime |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | 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자리 일 및 문자를Z
UTC 표시자로 사용합니다. 예: 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자리 밀리초 및 문자를Z
UTC 표시기로 사용합니다. 예: 20190627T1540500718Z.
형식: | String |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Hour
표시되는 시간을 지정합니다. 0에서 23까지의 값을 입력합니다.
형식: | Int32 |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Millisecond
날짜의 밀리초를 지정합니다. 0에서 999까지의 값을 입력합니다.
이 매개 변수는 PowerShell 3.0에서 도입되었습니다.
형식: | Int32 |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Minute
표시되는 분을 지정합니다. 0에서 59까지의 값을 입력합니다.
형식: | Int32 |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Month
표시되는 월을 지정합니다. 1에서 12까지의 값을 입력합니다.
형식: | Int32 |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Second
표시되는 두 번째 값을 지정합니다. 0에서 59까지의 값을 입력합니다.
형식: | Int32 |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-UFormat
날짜 및 시간을 UNIX 형식으로 표시합니다. UFormat 매개 변수는 문자열 개체를 출력합니다.
UFormat 지정자 앞에 백분율 기호(%
예: %m
, %d
및 %Y
. Notes 섹션에는 유효한 UFormat 지정자의 테이블이 포함되어 있습니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Year
표시되는 연도를 지정합니다. 1에서 9999까지의 값을 입력합니다.
형식: | Int32 |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
입력
DateTime 개체를 이 cmdlet으로 파이프할 수 있습니다.
출력
기본적으로 이 cmdlet은 DateTime 개체를 반환합니다.
DateTime 개체가 파이프라인을 문자열 입력이 필요한 cmdlet으로 Add-Content
보내면 PowerShell은 개체를 String 개체로 변환합니다.
현재 ToString()
문화권 설정을 사용하여 DateTime 개체를 String으로 변환합니다.
그러나 PowerShell 식 해석은 항상 고정 문화권 설정을 사용합니다. 고정 문화권이 어떻게 다른지 확인하려면 예제 9를 참조하세요.
개체의 속성과 메서드를 표시하려면 파이프라인 Get-Member
아래로 개체를 보냅니다.
예들 들어 Get-Date | Get-Member
입니다.
Format 또는 UFormat 매개 변수를 사용하는 경우 이 cmdlet은 String 개체를 반환합니다.
참고
DateTime 개체의 출력에 대한 기본 형식은 현재 선택한 로캘에 대한 긴 날짜 및 장기 형식입니다.
유효한 UFormat 지정자는 다음 표에 표시됩니다.
Important
UFormat 지정자는 최신 버전의 PowerShell에서 변경되거나 추가됩니다. 예를 들어 %F
PowerShell 6.2에 추가되었으므로 Windows PowerShell 5.1 이상에서는 사용할 수 없습니다. 여러 버전의 PowerShell에서 실행되도록 설계된 스크립트에서 UFormat 지정자를 사용할 때는 이 점을 염두에 두어야 합니다.
형식 지정자 | 의미 | 예시 |
---|---|---|
%A |
요일 - 전체 이름 | 월요일 |
%a |
요일 - 약어 이름 | 월 |
%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 |
월의 일 - 앞에 공백(한 자리만 있는 경우) | <space>5 |
%G |
'Y'와 동일 | |
%g |
'y'와 동일 | |
%H |
24시간 형식의 시간 | 17 |
%h |
'b'와 동일 | |
%I |
12시간 형식의 시간 | 05 |
%j |
연중 일(선행 0 포함 안 됨 - PowerShell 6 이상에서 수정됨) |
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 |
%S |
초 | 05 |
%s |
1970년 1월 1일 00:00:00(현지 시간으로 변환) 이후 경과된 시간(초) | 1150451174.95705 |
%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 |
참고 항목
Windows PowerShell의 동작 Get-Date -UFormat %s
은 두 가지 측면에서 올바르지 않습니다.
- 반환 값은 UTC 시간이 아닌 현지 시간을 기반으로 합니다.
- 초 값의 문자열 표현에는 소수 부분이 있습니다. 출력은 소수점과 관련하여 문화권을 구분합니다.
이러한 동작은 PowerShell 6 이상에서 수정되었습니다.
관련 링크
PowerShell