这是用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 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录