5

毎月 4 日と 14 日にスケジュールされたスクリプトがあります。

スクリプトが 4 日に開始する場合、前月の最終日を取得する必要があります (簡単、$a.AddDays(-5))

スクリプトが 14 日に開始する場合、2 か月前の最終日を取得する必要があります。

例えば:

 14 april.

 I want to get:28 february 2013

どのように可能ですか?また、日付をyyyymmddの形式で取得したい

UDPDATE:

年の変わり目にソリューションがうまく機能しない可能性はありますか?

1 月の場合、 $(get-date).month -1 の結果は 0 です。したがって、次のようにしました。

 $datenow = Get-date
 if $datenow.day -eq 14
 $datenow.AddDays(-14)

それから私は計算します

 $LastDayInMonth = [System.DateTime]::DaysInMonth($(Get-date).Year, $(Get-date.Month))
 $datenow.AddDays(-$LastDayInMonth)
 $datestring = $datenow.ToString("yyyyMMdd")
4

2 に答える 2

3
$(Get-Date).addDays(-$(Get-Date).Day).addMonths(-1).ToString("yyyyMMdd")
于 2014-06-17T22:13:34.500 に答える