Date 如何计算结束日期
我试图根据起始日期和持续时间计算endDate 例如:Date 如何计算结束日期,date,go,time,Date,Go,Time,我试图根据起始日期和持续时间计算endDate 例如: func calculateEndDate(startDate *time.Time, duration uint32, durationType uint32) *time.Time { endDate := &time.Time{} switch enum.DurationType(durationType) { case enum.DayType: temp := startDate.A
func calculateEndDate(startDate *time.Time, duration uint32, durationType uint32) *time.Time {
endDate := &time.Time{}
switch enum.DurationType(durationType) {
case enum.DayType:
temp := startDate.Add(time.Duration(24*duration) * time.Hour)
endDate = &temp
}
return endDate
}
这是惯用的做法吗?如果我想使用不同类型的时间,如年或月,我应该遵循这种模式吗?最惯用的方式是: 持续时间:=时间。持续时间/*一定时间*/ endDate:=startDate.Addduration 在此示例中,持续时间可以是任意时间量,最多为: 持续时间:=10*时间。秒//10秒 持续时间:=15*时间。分钟//15分钟 持续时间:=5*time.Hour//5小时 持续时间:=6*24*时间。小时//6个24小时天
etc最惯用的方式是: 持续时间:=时间。持续时间/*一定时间*/ endDate:=startDate.Addduration 在此示例中,持续时间可以是任意时间量,最多为: 持续时间:=10*时间。秒//10秒 持续时间:=15*时间。分钟//15分钟 持续时间:=5*time.Hour//5小时 持续时间:=6*24*时间。小时//6个24小时天
etc最简单的方法是使用和计算结束日期:
t := time.Now()
d := 3*time.Hour + 20*time.Minute
end := t.Add(d)
若日期可以大于一天,那个么这就不够了,因为应该考虑夏时制和闰年。还有时间。持续时间不能表示大约超过290年的持续时间
在这种情况下,持续时间应以年、月、日三元形式给出,并应使用
t := time.Now()
years, months, days := 15, 2, 3
end := t.AddDate(years, months, days)
见相关问题:
最简单的方法是使用和计算结束日期:
t := time.Now()
d := 3*time.Hour + 20*time.Minute
end := t.Add(d)
若日期可以大于一天,那个么这就不够了,因为应该考虑夏时制和闰年。还有时间。持续时间不能表示大约超过290年的持续时间
在这种情况下,持续时间应以年、月、日三元形式给出,并应使用
t := time.Now()
years, months, days := 15, 2, 3
end := t.AddDate(years, months, days)
见相关问题:
time.time.AddDate是您要查找的。经验法则:首先阅读所有文档。time.time.AddDate是您要查找的。经验法则:首先阅读所有文档。