Go語言程式:獲取一年中第幾天(共365天)
在 Go 語言中,我們可以使用 YearDay 和 Sub 函式以及算術運算方法來獲取一年中第幾天(共365天)。當前時間使用 time 包中的 Now 函式獲取,YearDay() 函式用於獲取一年中第幾天(共365天)。
方法一:使用 YearDay 和 Sub 函式
這種方法使用 currentTime.Sub(start_of_year).Hours() / 24 以及簡單的 YearDay 方法計算當前日期與年初之間的天數。
語法
func Now() Time
Now() 函式定義在 time 包中。此函式生成當前本地時間。要使用此函式,我們必須首先在程式中匯入 time 包。
func sub()
此函式是 time 包的一部分。它用於計算兩個 time.Time 值之間的持續時間。
演算法
步驟 1 − 在程式中匯入所需的包
步驟 2 − 建立 main 函式
步驟 3 − 在 main 函式中使用內建函式獲取一年中第幾天
步驟 4 − 使用 fmt 包中的 Printf 函式在控制檯上列印一年中第幾天
示例 1
在這個示例中,我們將編寫一個 Go 語言程式,使用 YearDay 函式查詢一年中的當前時間。
package main
import (
"fmt"
"time"
)
func main() {
currentTime := time.Now()
yearDay := currentTime.YearDay()
fmt.Printf("Today is day %d of the year.\n", yearDay)
}
輸出
Today is day 93 of the year.
示例 2
在這個示例中,我們將編寫一個 Go 語言程式,使用 Sub 函式查詢一年中的當前時間。
package main
import (
"fmt"
"time"
)
func main() {
currentTime := time.Now()
start_of_year := time.Date(currentTime.Year(), 1, 1, 0, 0, 0, 0, currentTime.Location())
year_day := int(currentTime.Sub(start_of_year).Hours()/24) + 1
fmt.Printf("Today is day %d of the year.\n", year_day)
}
輸出
Today is day 93 of the year.
方法二:使用算術運算子
在這種方法中,我們將編寫一個 Go 語言程式,使用算術運算來獲取一年中第幾天(共365天)。這裡使用的算術運算子是模運算子,用於檢查年份是否是閏年。
演算法
步驟 1 − 此程式在程式中匯入 fmt 和 time 包,其中 fmt 用於格式化輸入和輸出,time 用於獲取時間。
步驟 2 − 建立 main 函式,並在該函式中使用 time 包中的 Now 函式獲取當前時間。
步驟 3 − 然後,使用當前時間的 YearDay 函式計算一年中的第幾天。
步驟 4 − 在此步驟中,使用當前時間的 Year 函式獲取當前時間的年份。
步驟 5 − 然後,透過獲取其與 4、100 和 400 的模來檢查年份是否是閏年。
步驟 6 − 如果是閏年並且一年中的第幾天大於等於 60,則將一年中的第幾天加 1。
步驟 7 − 最後,使用 fmt 包中的 Println 函式列印一年中的第幾天,其中 ln 表示換行。
示例
在下面的示例中,我們將使用算術運算子在 Go 程式語言中獲取一年中第幾天(共365天)。
package main
import (
"fmt"
"time"
)
func main() {
Now := time.Now()
day_of_year := Now.YearDay()
year := Now.Year()
leap_year := (year%4 == 0 && year%100 != 0) || year%400 == 0
if leap_year && day_of_year >= 60 {
day_of_year++
}
fmt.Printf("Today is the day %d of the year.\n", day_of_year)
}
輸出
Today is the day 93 of the year.
結論
我們使用三個示例執行並編譯了獲取一年中第幾天(共365天)的程式。在第一個示例中,我們使用了 YearDay 函式;在第二個示例中,我們透過查詢當前日期與年初之間的天數來獲取一年中第幾天,為此我們使用了 sub 方法;在第三個示例中,我們使用了算術運算。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
JavaScript
PHP