Powershell에서 두 날짜 간의 일 수 차이를 가져오는 중
Windows powershell에서 날짜 차이를 확인하려고 합니다. 올해의 마지막 날짜를 추출합니다. 즉,20171231(yyyyMMdd)
로컬로 저장한 텍스트 파일에서 검색할 수 있습니다.
아래 코드는 제가 시도하고 있지만 날짜 차이를 얻을 수 없습니다. 파일에서 추출된 문자열을 변환한 다음 날짜 유형으로 빼면 직접 감산하여 잘못된 출력을 얻는 중입니다.
$DateStr = (Get-Date).ToString("yyyyMMdd")
$content = Get-Content C:\Users\Date.txt
$diff = $content.ToString();
#Convert it to the date type
$diff = [datetime]::parseexact($diff, 'yyyyMMdd', $null)
#$diff3 = $diff - $DateStr
사용하다New-TimeSpan
시간 간격을 나타내기 때문입니다.이렇게.
$d1 = '2017-01-01'
$d2 = '2017-05-01'
$ts = New-TimeSpan -Start $d1 -End $d2
$ts.Days # Check results
120
현재 날짜와 미래 날짜 간의 차이를 확인할 수 있는 빠르고 더러운 한 줄 파워셸 스크립트:
[math]::Ceiling((([DateTime]'mm-dd-yyyy')-(Get-Date)).TotalDays)
$DateStr은 문자열이 되므로 날짜로 구문 분석할 수 없습니다.새 시간 간격을 사용하여 두 날짜 간의 차이를 확인할 수도 있습니다.
$Date = Get-Date
$diff = Get-Content C:\Users\Date.txt -raw
#Convert it to the date type
$diff = [datetime]::parseexact($diff, 'yyyyMMdd', $null)
$diff3 = New-TimeSpan -Start $diff -end $Date
#Number of days
$diff3.days
다른 사람들의 훌륭한 답변이지만 나는 종종 사용합니다.Date-Diff
기능(강력하고 개발자들에게 잘 알려진 기능).아래 예를 참조하십시오.
Using Namespace Microsoft.VisualBasic Add-Type -AssemblyName Microsoft.VisualBasic $start = Get-Date '2019-01-01' #Convert string into Date type. $end = Get-Date [DateAndTime]::DateDiff([DateInterval]::Day, $start, $end)
편집: PowerShell의 새 버전이 지원될 것으로 보입니다.NET 7의 경우 조립품을 추가할 필요가 없습니다.
HTH
$Date = Get-Date
$diff = Get-Content C:\Users\Date.txt -raw
#Convert it to the date type
$diff = [datetime]::parseexact($diff, 'yyyyMMdd', $null)
#simply difference between dates give you a timespan, take days
($diff - $Date).Day
날짜/시간 개체로 변환하는 경우 날짜/시간 속성을 확인하는 것은 매우 간단합니다.이것은 시간에도 효과가 있습니다.
[datetime]'9/3' - [datetime]'9/1' | % days
2
[datetime]'10:30' - [datetime]'9:30' | % hours
1
설명
바닥 또는 천장을 사용하여 두 날짜 사이의 전체 일 수를 구할 수 있습니다. 반올림하거나 반올림하려면 [math]를 사용하십시오.:대신 둥글어집니다.
예:
긍정적인 가치로서:
$pastDate = (Get-Date).AddDays(-44.9)
[math]::Floor(((Get-Date) - $pastDate).TotalDays)
44
음수 값으로:
$pastDate = (Get-Date).AddDays(-44.9)
[math]::Ceiling(($pastDate-(Get-Date)).TotalDays)
-44
언급URL : https://stackoverflow.com/questions/44151502/getting-the-of-days-difference-between-two-dates-in-powershell
'source' 카테고리의 다른 글
mysql에서 프로시저 만들기 (0) | 2023.08.18 |
---|---|
배경색의 불투명도(텍스트는 아님) (0) | 2023.08.18 |
추가 데이터를 높은 차트 시리즈로 설정 (0) | 2023.08.13 |
SQL Server 작업이 이미 실행 중인 경우 예약된 실행을 건너뜁니까? (0) | 2023.08.13 |
SVG 요소에 클릭 시 이벤트 추가 (0) | 2023.08.13 |