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 方法;在第三個示例中,我們使用了算術運算。

更新於:2023年4月3日

瀏覽量:695

啟動您的 職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.