Go语言实现获取指定日期所在周的星期五日期函数
这是用Go语言实现的getFridayDate函数:
package main
import (
"fmt"
"time"
)
func getFridayDate(d string) string {
// 解析日期字符串
t, err := time.Parse("2006-01-02", d)
if err != nil {
return ""
}
// 获取星期几的数值,0为星期日,1为星期一,以此类推
weekday := int(t.Weekday())
// 计算需要增加的天数
var daysToAdd int
if weekday < 5 {
daysToAdd = 5 - weekday
} else if weekday > 5 {
daysToAdd = 12 - weekday
}
// 增加天数并格式化为日期字符串
fridays := t.AddDate(0, 0, daysToAdd).Format("2006-01-02")
return friday
}
func main() {
date := "2021-08-25"
fridays := getFridayDate(date)
fmt.Println(fridays)
}
这个函数首先将传入的日期字符串解析为time.Time类型的对象。然后,根据日期对象的Weekday()方法获取星期几的数值。如果是星期六或星期日(数值为5或6),则需要增加的天数为下一周的星期五与当前日期的天数差。如果是其他工作日(数值为0-4),则需要增加的天数为下一周的星期五与当前日期的天数差减去7天。
最后,使用AddDate()方法将天数增加到日期对象上,并使用Format()方法将日期对象格式化为指定的日期字符串格式("2006-01-02")。
在main()函数中,我们可以通过调用getFridayDate()函数来获取给定日期所在周的星期五的日期,并打印输出结果。
原文地址: https://www.cveoy.top/t/topic/pKeC 著作权归作者所有。请勿转载和采集!