プログラミングで時間値を扱う場合、多くの場合、日付を操作し、時間枠の特定の側面を決定する必要があります。一般的なタスクの 1 つは、特定の月の最後の日を見つけることです。これは、2 月など、日数が異なる月を扱う場合に特に困難になる可能性があります。
Go の time パッケージでは、time.Time 型は時点を表します。指定された time.Time 値の月の最終日を取得するには、Date 関数を使用できます。
Date 関数は、次のようないくつかのパラメーターを受け取ります。
月の最後の日を見つけるには、day パラメータを 0 に設定し、month パラメータを 1 ずつ増分します。これにより、翌月の初日を表す time.Time 値が返されます。次に、この値から 1 日を引いて、現在の月の最後の日を取得します。
たとえば、2016 年 1 月の最後の日を見つけるには、次のコードを使用できます。
<code class="go">package main import ( "fmt" "time" ) func main() { // January, 29th t, _ := time.Parse("2006-01-02", "2016-01-29") // Increment month and set day to 0 to get first day of next month y, m, _ := t.Date() lastDay := time.Date(y, m+1, 0, 0, 0, 0, 0, time.UTC) // Subtract one day to get last day of current month lastDay = lastDay.Add(-24 * time.Hour) fmt.Println(lastDay) }</code>
このプログラムの出力は次のとおりです。
2016-01-31 00:00:00 +0000 UTC
これにより、月の最終日、つまり 2016 年 1 月 31 日が正確に得られます。
以上がGo の Time パッケージを使用して月の最終日を決定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。