在beggo工程的main.go中定义方法
import ("fmt"
"github.com/astaxie/beego"
"time"
)
格式化时间方法
func timeFormat(in int64) (out string) {
minute := 60
hour := minute * 60
day := hour * 24
// halfamonth := day * 15
month := day * 30
year := month * 12
now := time.Now().Unix()
diffValue := now - in
if diffValue < 0 {
//若日期不符则弹出窗口告之
//alert("结束日期不能小于开始日期!");
}
yearC := diffValue / int64(year)
monthC := diffValue / int64(month)
weekC := diffValue / int64((7 * day))
dayC := diffValue / int64(day)
hourC := diffValue / int64(hour)
minC := diffValue / int64(minute)
beego.Debug("monthC:", monthC)
beego.Debug("weekC:", weekC)
beego.Debug("dayC:", dayC)
beego.Debug("hourC:", hourC)
beego.Debug("minC:", minC)
result := ""
if yearC >= 1 {
result = time.Unix(in, 0).Format("2006-01-02 15:04:05")
} else if monthC >= 1 {
result = fmt.Sprintf("发表于%d个月前", monthC)
} else if weekC >= 1 {
result = fmt.Sprintf("发表于%d周前", weekC)
} else if dayC >= 1 {
result = fmt.Sprintf("发表于%d天前", dayC)
} else if hourC >= 1 {
result = fmt.Sprintf("发表于%d个小时前", hourC)
} else if minC >= 1 {
result = fmt.Sprintf("发表于%d分钟前", minC)
} else {
result = "刚刚发表"
}
return result
}
main函数 beego.Run()前调用
beego.AddFuncMap("timeformat", timeFormat)
在html中使用
{{timeformat .时间戳}}