特定の月の最初の月曜日を取得しようとしています。
私が思いつくことができる最良の方法は、最初の7日間ループして、いつ戻ってくるか.Weekday() == "Monday"
です。これを行うより良い方法はありますか?
時間の.Weekday()を見ると、最初の月曜日を計算できます。
package main
import (
"fmt"
"time"
)
// FirstMonday returns the day of the first Monday in the given month.
func FirstMonday(year int, month time.Month) int {
t := time.Date(year, month, 1, 0, 0, 0, 0, time.UTC)
return (8-int(t.Weekday()))%7 + 1
}
func main() {
for m := 1; m <= 12; m++ {
fmt.Println(m, FirstMonday(2013, time.Month(m)))
}
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加