Go语言获取365天的当天日期的程序
在Go语言中,我们可以使用YearDay和Sub函数以及算术运算方法来获取365天的当天日期。使用time包中的Now函数获取当前时间,使用YearDay()函数获取一年的当前日期。
方法1:使用YearDay和Sub函数
在这个方法中,使用currentTime.Sub(start_of_year).Hours()/24和简单的YearDay方法计算当前日期和年初之间的天数。
语法
func Now() Time
Now()函数在time包中定义。此函数生成当前本地时间。在程序中使用此函数,必须首先导入time包。
func sub()
该函数是time包的一部分。它用于计算两个time.Time值之间的持续时间。
算法
- 步骤1 − 在程序中导入所需的包。
-
步骤2 − 创建一个主函数。
-
步骤3 − 在主函数中使用内置的函数获取一年的当前日期。
-
步骤4 − 使用fmt包中的Printf函数将当前日期的天数打印在控制台上。
示例1
在这个示例中,我们将编写一个Go语言程序,使用YearDay函数找到一年中的当前日期。
package main
import (
"fmt"
"time"
)
func main() {
currentTime := time.Now()
yearDay := currentTime.YearDay()
fmt.Printf("今天是一年中的第%d天。\n", yearDay)
}
输出
今天是一年中的第93天。
示例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("今天是一年中的第%d天。\n", year_day)
}
输出
今天是一年中的第93天。
方法2:使用算术运算符
在这个方法中,我们将编写一个Go语言程序,使用算术运算来获取365天的当天日期。这里使用的算术运算是模运算符,用于检查年份是否为闰年。
算法
- 步骤1 − 在程序中导入fmt和time包,其中fmt帮助输入和输出的格式化,time帮助获取时间。
-
步骤2 − 创建一个主函数,并在该函数中使用time包中的Now函数获取当前时间。
-
步骤3 − 然后,使用YearDay函数获取一年中的当前日期。
-
步骤4 − 在这一步中,使用Year函数获取当前时间的年份。
-
步骤5 − 然后,通过将其与4、100和400取模来检查年份是否为闰年。
-
步骤6 − 如果它是闰年且一年中的日期大于等于60,则将一年中的日期增加1。
-
步骤7 − 最后,使用fmt包中的Println函数打印一年中的日期,其中ln表示新行。
示例
“`html 文中代码部分省略,读者可自行查看原文。 “`
在下面的例子中,我们将使用算术运算符来获取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("今天是第%d天。\n", day_of_year)
}
结果
今天是第93天。
结论
我们以三个例子来执行并编译获取一年中当前日子的程序。在第一例中,我们使用了YearDay函数;在第二个例子中,我们通过找到当前日期与年初之间的天数来获取一年中的当前日子,使用了sub方法;在第三个例子中,我们使用了算术操作。