在Go語言中,處理閏年的方法與處理其他日期和時間問題類似。Go的time
包提供了豐富的功能來處理日期和時間,包括閏年。以下是如何使用Go處理閏年的示例:
package main
import (
"fmt"
"time"
)
func isLeapYear(year int) bool {
return year%4 == 0 && (year%100 != 0 || year%400 == 0)
}
func main() {
year := 2020
if isLeapYear(year) {
fmt.Printf("%d 是閏年\n", year)
} else {
fmt.Printf("%d 不是閏年\n", year)
}
// 獲取當(dāng)前年份
now := time.Now()
currentYear := now.Year()
// 檢查當(dāng)前年份是否為閏年
if isLeapYear(currentYear) {
fmt.Printf("%d 是閏年\n", currentYear)
} else {
fmt.Printf("%d 不是閏年\n", currentYear)
}
}
在這個示例中,我們定義了一個名為isLeapYear
的函數(shù),該函數(shù)接受一個整數(shù)參數(shù)year
,并返回一個布爾值,表示該年份是否為閏年。我們使用閏年的定義來檢查年份是否符合條件:能被4整除但不能被100整除,或者能被400整除。
在main
函數(shù)中,我們首先檢查給定的年份(例如2020年)是否為閏年,然后獲取當(dāng)前年份并檢查它是否為閏年。我們使用time.Now()
函數(shù)獲取當(dāng)前時間,并通過now.Year()
獲取當(dāng)前年份。