feat(model): 添加时间工具函数并在首页模板中使用
- 新增 model 包下 time.go,提供时间戳转换和获取当前时间戳的多种方法 - 新增 model 包下 tools.go,包含 UnixToTime 函数用于时间戳格式化 - 在 main.go 中注册 UnixToTime 为模板函数 - 修改默认控制器,首页渲染中添加时间戳数据及标题 - 首页模板添加调用 UnixToTime 格式化显示时间戳 - 优化控制器导入,添加必要包引用和格式调整
This commit is contained in:
@@ -1,6 +1,11 @@
|
|||||||
package nannanwu
|
package nannanwu
|
||||||
|
|
||||||
import "github.com/gin-gonic/gin"
|
import (
|
||||||
|
"awesomeProject/model"
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"github.com/gin-gonic/gin"
|
||||||
|
)
|
||||||
|
|
||||||
type DefaultController struct {
|
type DefaultController struct {
|
||||||
//继承BaseController
|
//继承BaseController
|
||||||
@@ -8,13 +13,17 @@ type DefaultController struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (con DefaultController) Index(c *gin.Context) {
|
func (con DefaultController) Index(c *gin.Context) {
|
||||||
c.HTML(200, "pages/index", gin.H{})
|
fmt.Println(model.UnixToTime(1629788418))
|
||||||
|
c.HTML(200, "pages/index", gin.H{
|
||||||
|
"title": "首页",
|
||||||
|
"t": 1629788418,
|
||||||
|
})
|
||||||
}
|
}
|
||||||
func (con DefaultController) Article(c *gin.Context) {
|
func (con DefaultController) Article(c *gin.Context) {
|
||||||
c.String(200, "文章详情")
|
c.String(200, "文章详情")
|
||||||
}
|
}
|
||||||
|
|
||||||
// 使用继承的方式调用BaseController的success方法
|
// Success 使用继承的方式调用BaseController的success方法
|
||||||
func (con DefaultController) Success(c *gin.Context) {
|
func (con DefaultController) Success(c *gin.Context) {
|
||||||
BaseController{}.success(c)
|
BaseController{}.success(c)
|
||||||
}
|
}
|
||||||
|
|||||||
7
main.go
7
main.go
@@ -1,7 +1,9 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"awesomeProject/model"
|
||||||
"awesomeProject/router"
|
"awesomeProject/router"
|
||||||
|
"html/template"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
)
|
)
|
||||||
@@ -11,6 +13,11 @@ func main() {
|
|||||||
// 创建默认的gin引擎
|
// 创建默认的gin引擎
|
||||||
r := gin.Default()
|
r := gin.Default()
|
||||||
|
|
||||||
|
//自定义模板函数
|
||||||
|
r.SetFuncMap(template.FuncMap{
|
||||||
|
"UnixToTime": model.UnixToTime,
|
||||||
|
})
|
||||||
|
|
||||||
// 加载模板文件,支持多层目录结构
|
// 加载模板文件,支持多层目录结构
|
||||||
r.LoadHTMLGlob("templates/**/*")
|
r.LoadHTMLGlob("templates/**/*")
|
||||||
|
|
||||||
|
|||||||
41
model/time.go
Normal file
41
model/time.go
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
package model
|
||||||
|
|
||||||
|
import (
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
// TimeUtil 时间工具结构体
|
||||||
|
type TimeUtil struct{}
|
||||||
|
|
||||||
|
// TimestampToDate 将时间戳转换为日期字符串
|
||||||
|
// timestamp: 秒级或毫秒级时间戳
|
||||||
|
// layout: 日期格式,如 "2006-01-02 15:04:05"
|
||||||
|
func (t TimeUtil) TimestampToDate(timestamp int64, layout string) string {
|
||||||
|
// 判断是秒级还是毫秒级时间戳
|
||||||
|
if timestamp > 1e10 {
|
||||||
|
timestamp = timestamp / 1000
|
||||||
|
}
|
||||||
|
return time.Unix(timestamp, 0).Format(layout)
|
||||||
|
}
|
||||||
|
|
||||||
|
// TimestampToDateDefault 使用默认格式转换时间戳
|
||||||
|
// 默认格式: 2006-01-02 15:04:05
|
||||||
|
func (t TimeUtil) TimestampToDateDefault(timestamp int64) string {
|
||||||
|
return t.TimestampToDate(timestamp, "2006-01-02 15:04:05")
|
||||||
|
}
|
||||||
|
|
||||||
|
// TimestampToDateOnly 只返回日期部分
|
||||||
|
// 格式: 2006-01-02
|
||||||
|
func (t TimeUtil) TimestampToDateOnly(timestamp int64) string {
|
||||||
|
return t.TimestampToDate(timestamp, "2006-01-02")
|
||||||
|
}
|
||||||
|
|
||||||
|
// NowTimestamp 获取当前时间戳(秒级)
|
||||||
|
func (t TimeUtil) NowTimestamp() int64 {
|
||||||
|
return time.Now().Unix()
|
||||||
|
}
|
||||||
|
|
||||||
|
// NowTimestampMilli 获取当前时间戳(毫秒级)
|
||||||
|
func (t TimeUtil) NowTimestampMilli() int64 {
|
||||||
|
return time.Now().UnixMilli()
|
||||||
|
}
|
||||||
13
model/tools.go
Normal file
13
model/tools.go
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
package model
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
// 传入时间戳,返回时间格式字符串
|
||||||
|
func UnixToTime(timestamp int) string {
|
||||||
|
fmt.Println(timestamp)
|
||||||
|
t := time.Unix(int64(timestamp), 0)
|
||||||
|
return t.Format("2006-01-02 15:04:05")
|
||||||
|
}
|
||||||
@@ -12,6 +12,7 @@
|
|||||||
{{template "layout/navbar"}}
|
{{template "layout/navbar"}}
|
||||||
|
|
||||||
<h2>{{.title}}</h2>
|
<h2>{{.title}}</h2>
|
||||||
|
<h2>{{UnixToTime .t}}</h2>
|
||||||
|
|
||||||
{{$t := .title}}
|
{{$t := .title}}
|
||||||
<h4>{{$t}}</h4>
|
<h4>{{$t}}</h4>
|
||||||
|
|||||||
Reference in New Issue
Block a user