年月日の比較

package main

import (
	"fmt"
	"time"
)

func main() {
	// 比較する日付を定義
	date1 := time.Date(2024, 2, 11, 0, 0, 0, 0, time.UTC)
	date2 := time.Date(2025, 2, 11, 0, 0, 0, 0, time.UTC)

	// 比較
	if date1.Before(date2) {
		fmt.Println("date1 は date2 より前です")
	} else if date1.After(date2) {
		fmt.Println("date1 は date2 より後です")
	} else {
		fmt.Println("date1 と date2 は同じです")
	}
}

年月の比較

package main

import (
	"fmt"
	"time"
)

func main() {
	// 年月を取得
	t1 := time.Date(2024, 2, 1, 0, 0, 0, 0, time.UTC)
	t2 := time.Date(2025, 1, 1, 0, 0, 0, 0, time.UTC)

	// 年と月を比較
	if t1.Year() < t2.Year() || (t1.Year() == t2.Year() && t1.Month() < t2.Month()) {
		fmt.Println("t1 は t2 より前の年月です")
	} else if t1.Year() > t2.Year() || (t1.Year() == t2.Year() && t1.Month() > t2.Month()) {
		fmt.Println("t1 は t2 より後の年月です")
	} else {
		fmt.Println("t1 と t2 は同じ年月です")
	}
}

年の比較

package main

import (
	"fmt"
	"time"
)

func main() {
	// 年を取得
	y1 := time.Date(2024, 1, 1, 0, 0, 0, 0, time.UTC)
	y2 := time.Date(2023, 1, 1, 0, 0, 0, 0, time.UTC)

	// 年を比較
	if y1.Year() < y2.Year() {
		fmt.Println("y1 は y2 より前の年です")
	} else if y1.Year() > y2.Year() {
		fmt.Println("y1 は y2 より後の年です")
	} else {
		fmt.Println("y1 と y2 は同じ年です")
	}
}