-
Notifications
You must be signed in to change notification settings - Fork 0
/
V17 Using-Functions.ps1
38 lines (29 loc) · 915 Bytes
/
V17 Using-Functions.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# get last day of month
function Get-LastDayOfMonth {
[CmdletBinding()]
param (
[Parameter(ValueFromPipeline=$true)]
[datetime[]]$Date = (Get-Date)
)
process {
foreach ($d in $Date){
$lastday = [datetime]::DaysInMonth($d.Year, $d.Month)
[datetime]"$($d.Month), $lastday, $($d.year)"
}
}
}
# last day of current month
Get-LastDayOfMonth
# last day of previous month
Get-LastDayOfMonth -Date (Get-Date).AddMonths(-1)
# last day of next 12 months
0..11 | ForEach-Object { (Get-Date).AddMonths($_) } | Get-LastDayOfMonth
# difference between two dates
function Get-DateDifference {
param (
[datetime]$StartDate,
[datetime]$EndDate
)
(New-TimeSpan -Start $StartDate -End $EndDate).TotalDays
}
Get-DateDifference -StartDate '01/01/2020' -EndDate '04/01/2020'