본문 바로가기
파워쉘(Powershell)/문법

파워쉘 - 날짜, 시간 (Get-Date)

by 예배파 2024. 4. 5.

 

Get-Date

현재 날짜, 시간 정보를 갖고 있는 DateTime 객체 반환

Get-Date

실행결과
Friday, April 5, 2024 9:43:14 AM

 

 

 

DateTime 속성

$오늘 = Get-Date
$올해 = $오늘.Year
$요일 = $오늘.DayOfWeek
$일년중몇일째 = $오늘.DayOfYear
$이번달 = $오늘.Month
$일 = $오늘.Day
$현재시간 = $오늘.Hour
$현재_분 = $오늘.Minute
$현재_초 = $오늘.Second

Write-Host "오늘 :" $오늘
Write-Host "올해 :" $올해
Write-Host "요일 :" $요일
Write-Host "이번달 :" $이번달
Write-Host "일 :" $일
Write-Host "일년중몇일째 :" $일년중몇일째
Write-Host "현재시간 :" $현재시간
Write-Host "현재_분 :" $현재_분
Write-Host "현재_초 :" $현재_초


실행결과
오늘 : 4/5/2024 1:37:09 PM
올해 : 2024
요일 : Friday
이번달 : 4
일 : 5
일년중몇일째 : 96
현재시간 : 13
현재_분 : 37
현재_초 : 9

 

 

 

.NET 형식 지정자 사용

원하는 방식으로 날짜,시간을 문자열로 출력

# 년-월-일 요일 시간:분 UTC의 표준 시간대 오프셋 
Get-Date -Format "yyyy-MM-dd dddd HH:mm K"

실행결과
2024-04-05 Friday 09:47 +09:00


# 년/월/일
Get-Date -Format "yyyy/MM/dd"

실행결과
2024/04/05


# 월/일
Get-Date -Format "MM/dd"

실행결과
04/05

#시간:분
Get-Date -Format "HH:mm"

실행결과
09:52

#년=월=일,시간:분 -> 요일
Get-Date -Format "yyyy=MM=dd,HH:mm -> dddd"

실행결과
2024=04=05,09:53 -> Friday

 

지정자 정의
yyyy 4자리 형식의 연도
MM
dd
HH:mm 시간:분
dddd 요일
K 유니버설 시간 좌표의 표준 시간대 오프셋

 

 

 

날짜지정

# 2022년 3월 23일

Get-Date "2022-03-23"

Get-Date -Year 2022 -Month 3 -Day 23

실행결과
Wednesday, March 23, 2022 12:00:00 AM
Wednesday, March 23, 2022 10:12:59 AM

 

 

 

날짜비교

-gt, -lt 등 비교 연산자 사용해서 두 날짜를 비교

$dt1 = Get-Date -Year 2022 -Month 5 -Day 23
$dt2 = Get-Date -Date "2022-03-23"

if($dt1 -gt $dt2){ Write-Host "`$dt1 날짜가 `$dt2보다 더 최근 입니다" }
else { Write-Host "`$dt2 날짜가 `$dt1보다 더 최근 입니다" }

 

 

 

몇 일(월,년) 전, 후

$오늘 = Get-Date
$3일후 = $오늘.AddDays(3)
$3일전 = $오늘.AddDays(-3)

$2년후 = $오늘.AddYears(2)
$2년전 = $오늘.AddYears(-2)

$3개월후 = $오늘.AddMonths(3)
$3개월전 = $오늘.AddMonths(-3)

Write-Host "오늘 :"$오늘
Write-Host "3일전 :" $3일전
Write-Host "3일후 :" $3일후
Write-Host "2년전 :" $2년전
Write-Host "2년후 :" $2년후
Write-Host "3개월전 :" $3개월전
Write-Host "3개월후 :" $3개월후


실행결과
오늘 : 4/5/2024 10:44:58 AM
3일전 : 4/2/2024 10:44:58 AM
3일후 : 4/8/2024 10:44:58 AM
2년전 : 4/5/2022 10:44:58 AM
2년후 : 4/5/2026 10:44:58 AM
3개월전 : 1/5/2024 10:44:58 AM
3개월후 : 7/5/2024 10:44:58 AM

 

 

 

문자열을 DateTime 변환

$strDate = "2024-10-28"
$dt = [DateTime] $strDate
$dt.GetType()


실행결과
IsPublic IsSerial Name                                     BaseType                                               
-------- -------- ----                                     --------                                               
True     True     DateTime                                 System.ValueType

 

 

 

두 날짜간의 시간간격 (TimeSpan )

오늘부터 특정 날짜까지  얼만큼 남았는지 알 수 있다

$오늘 = Get-Date
$내생일 = Get-Date -day 25 -month 10

$기간 = New-TimeSpan -Start $오늘 -End $내생일
Write-Host "내 생일까지 남은 날 :" $기간.TotalDays
Write-Host "내 생일까지 남은 시간 :" $기간.TotalHours
Write-Host "내 생일까지 남은 초 :" $기간.TotalSeconds


실행결과
내 생일까지 남은 날 : 203
내 생일까지 남은 시간 : 4872
내 생일까지 남은 초 : 17539200

 

 

 

'파워쉘(Powershell) > 문법' 카테고리의 다른 글

파워쉘-PSCustomObject  (0) 2024.04.16
파워쉘 해시 테이블(Powershell HashTable)  (0) 2024.03.08
ArrayList  (0) 2024.03.07
반복문 (For, ForEach, Do ~ while, While)  (0) 2024.02.09
배열 - Array  (0) 2024.01.21