判定文章的发表时间是否是3天之内
- 在之前的项目中,设置了文章的时间,但是没有判定其是否为新文章,即其是否为三天内导入的文章
- 在Go语言中,有time包可以实现时间的控制,有
Since
函数可以用来返回从时间t到现在经过的时间,等价于time.Now().Sub(t)
。具体代码如下:
const shortForm = "2006-01-02"
d, _ := time.Parse(shortForm, article.CreatTime)//利用parse函数把字符串生成时间
if time.Since(d)Hours() < 72 {
//显示New标签
}
- Parse 函数
func Parse(layout, value string) (Time, error)
Parse解析一个格式化的时间字符串并返回它代表的时间。layout定义了参考时间,即时间的样式,例:
const shortForm = "2006-01-02"
d, _ :=func Parse(shortForm, "2016-12-18")
输出为
2016-12-18 00:00:00 +0000 UTC
Since
函数
func Since(t Time) Duration
Hours
函数
func (d Duration) Hours() float64
Duration
类型
type Duration int64
Duration类型代表两个时间点之间经过的时间,以纳秒为单位。可表示的最长时间段大约290年。
const (
Nanosecond Duration = 1
Microsecond = 1000 * Nanosecond
Millisecond = 1000 * Microsecond
Second = 1000 * Millisecond
Minute = 60 * Second
Hour = 60 * Minute
)