需求
获取前一天的日期,并格式化成[2020-03-01]
思路:直接取出当前的年月月,然后格式化,参考代码
n:=time.Now()
ts:= fmt.Sprintf("%v-%v-%v", n.Year(), n.Month(), n.Day - 1)
以上代码输出结果为:[ 2020-March-12 ] 不符合预期
方案1:直接根据GoLang中的日期格式化来实现
ts:= fmt.Sprintf("%v-%v-%v", n.Year(), n.Format("01"), n.Day - 1)
方案2:通过日期加减
oneDayBefore:=time.ParseDuration("-24h") # 减掉24个小时,为前一天的日期
yesterday := n.Add(oneDayBefore) # 加一个负数 <=> 减
扩展 : 两个日期的时间差
n:=time.Now()
oneHourAgo := time.ParseDuration("-1h")
oneHourAgoTime := n.add(oneHourAgo) # 转换为 Time 类型
r := n.Sub(oneHoueAgoTime) # 得到结果