рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЯрд┐рдХреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╢рдмреНрдж рдХрд╣реЗрдВ рдпрд╛ рдЧреЗрдЯ-рдбреЗрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдкреЙрд╡рд░реНрд╕ рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ

рд╢реБрдн рджрд┐рди, рдкреЙрд╡рд░рд╢реЗрд▓ рдкреНрд░реЗрдореАред

рдореИрдВ рдЙрд╕рд╕реЗ рдкреНрдпрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдЖрдЬ рдореИрдВрдиреЗ рдПрдХ рд╡рд┐рдЪрд┐рддреНрд░рддрд╛ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд┐рд╕рдиреЗ рдореБрдЭреЗ рдпрд╣ рдкреЛрд╕реНрдЯ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреА рднреА рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реЛрдЧреАред рдЕрддрд┐рд░рд┐рдХреНрдд рдЯрд┐рдХ рдХрд╛ рдорд╛рдорд▓рд╛ред рдпрджрд┐ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ, рддреЛ рдмрд┐рд▓реНрд▓реА рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ:

рд╡рд┐рдЪрд┐рддреНрд░рддрд╛ рдХрд╛ рд╕рд╛рд░ рдХреНрдпрд╛ рд╣реИ?

рдПрдХ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рдЪрдпрди рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдорд╣реАрдиреЗ рдХреЗ рдЕрдВрдд рддрдХ рджрд┐рдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред

рдЗрд╕рдХреА рдЧрдгрдирд╛ рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдХреА рдЧрдИ рдереА:

((Get-date -Day 1).AddMonths(1)-(get-date)).days-1 

рдХреНрдпрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ рдЗрд╕рдХреА рдЧрдгрдирд╛ рдЕрд▓рдЧ рдкрд░рд┐рдгрд╛рдо рджреЗ рд╕рдХрддреА рд╣реИ:

рдкрд╣рд▓реЗ, рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдХреЛрдб рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЧрд▓рдд рдерд╛, рдпрд╛ рдкреЙрд╡рд░реНрд╕рд╢реЗрд▓ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рдеред

рдореИрдВрдиреЗ рдЗрд╕реЗ рдХрдИ рдХрд╛рд░реЛрдВ рдкрд░ рдЪреЗрдХ рдХрд┐рдпрд╛ рдФрд░ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рд╕реНрдерд┐рддрд┐ рдкреНрд░рдЬрдирди рдпреЛрдЧреНрдп рд╣реИред

рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдПрдХ рд╕рдорд╛рд░реЛрд╣ рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмреИрда рдЧрдпрд╛ред

рдореБрдЭреЗ рдпрд╣ рдорд┐рд▓рд╛, рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рддреБрд░рдВрдд рдХреЛрдб рдкрд░ рдЬрд╛рддреА рд╣реИрдВ:

 Function Get-DaysToEndOfMonths([int]$Month=1) {If($Month -lt 1){[int]$Month = 1} $CurrentDate = get-date #   $CurrentDay = $CurrentDate.day #    $FirstDayCurrentMonths = (Get-date -Day 1) #    #$FirstDayNextMonths = $FirstDayCurrentMonths.AddMonths($Month) #    #,      ,        $LastDay = $FirstDayCurrentMonths.AddMonths($Month).AddDays(-1) #    $DaysToEndOfMonths = $($LastDay - $CurrentDate).Days #     #  New-TimeSpan #$NewTimeSpan = New-TimeSpan -Start $CurrentDate -End $LastDay #$DaysToEndOfMonths = $NewTimeSpan.Days #  Write-debug "$DaysToEndOfMonths days to the end of the next $Month month" } Get-DaysToEndOfMonths(1) 

рдЦреИрд░, рдореЗрд░реЗ рд▓рд┐рдЦреЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рд╕реЛрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдмреИрда рдЧрдпрд╛ рдФрд░ рдЗрд╕ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдЖрдпрд╛:

 [int]((((Get-Date -day 01).AddMonths(1)).AddDays(-1)).Day-(Get-date).Day) 

рдЙрд╕рдиреЗ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рджреА, рд▓реЗрдХрд┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐:

рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рд╣рдо рдШрдВрдЯреЗ \ рдорд┐рдирдЯ \ рд╕реЗрдХрдВрдб, рдпрд╛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдШрдбрд╝реА рдЯрд┐рдХ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЧреЗрдЯ-рдбреЗрдЯ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдореЗрдВ рдПрдХ рдорд╛рди рджреЗрддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдЕрдЧрд░, рдЧрдгрдирд╛ рдХрд░рддреЗ рд╕рдордп, рдкрд╣рд▓реА рдФрд░ рджреВрд╕рд░реА рдЧреЗрдЯ-рдбреЗрдЯ рдХреЙрд▓ рдПрдХ рдЯрд┐рдХ рдкрд░ рдЧрд┐рд░рддреА рд╣реИ, рддреЛ рдРрд╕реЗ рдореВрд▓реНрдп рд╣реЛрдВрдЧреЗ:

 (Get-date -day 1).AddMonth(1) = 1.12.2019 15:33:00:500 Get-date = 1.11.2019 15:33:00:500 

рдШрдЯрд╛рдирд╛ рдФрд░ 30 00: 00: 00: 000 рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
рд▓реЗрдХрд┐рди рдЕрдЧрд░ рджреВрд╕рд░реА рдЧреЗрдЯ-рдбреЗрдЯ рдкрд░ рдХреЙрд▓ рдЕрдЧрд▓реЗ рдЯрд┐рдХ рдкрд░ рдЖрддреА рд╣реИ, рддреЛ рдЙрд╕рдХрд╛ рдореВрд▓реНрдп рд╣реЛрдЧрд╛
=>
 1.11.2019 15:33:00:501 

рдФрд░ рддрдм рд╣рдореЗрдВ рдореВрд▓реНрдп рдорд┐рд▓рддрд╛ рд╣реИ
 29 23:59:59:999 

рдЕрдм рдЬрдм рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓ рдЧрдИ рд╣реИ, рддреЛ рд╣рдо рдпрд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

 #     ((((Get-Date -day 01).AddMonths(1)).AddDays(-1))-(Get-date -Hour 0 -Minute 0 -Second 0 -Millisecond 0)).Days 

рдФрд░ рд╣рдо рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рдЕрд░реНрде рд░рдЦреЗрдВрдЧреЗред

рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ рдФрд░ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдкреНрддрд╛рд╣рд╛рдВрдд рд╣реИ!

Source: https://habr.com/ru/post/hi474204/


All Articles