关于遍历数据的时候 时间戳转换时间字符串格式

hellsam · 2017-11-24 14:46:15 · 1144 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2017-11-24 14:46:15 的主题,其中的信息可能已经有所发展或是发生改变。

type News_list struct {
    Nid      int
    Ntitle   string
    Ncontent string
    Ntime    int64   //这里是 int64类型 数据库里也是bigint类型
    Ntype    int
}

//执行
sql2 := fmt.Sprintf("select nid,ntitle,ncontent,ntime,ntype from news_list where 1=1 order by nid desc limit %s,%s", 10, 20)
rows, _ := mysql.DB.Query(sql2)
 for rows.Next(){
if err2 := rows.Scan(&news.Nid, &news.Ntitle, &news.Ncontent, &news.Ntime, &news.Ntype); err2 != nil {
    checkerrlog.CheckErrLog("遍历错误", err2)
    return
}

//问题来了  因为 Ntime我在数据库保存的是 bigint时间戳格式,  但是输出到前端HTML 我想实现 转换时间字符串格式
请问在那里转换呢  大概怎么写呢。 
以下是转换代码
就是不知道如何处理,因为都在遍历里 不知道如何拿出来转换,  
var timestamp2 int64 = int_0
tm := time.Unix(timestamp2, 0)
return tm.Format("2006-01-02 15:04:05")

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1144 次点击  
加入收藏 微博
4 回复  |  直到 2017-11-27 03:00:17
channel
channel · #1 · 7年之前

你在 News_list 中增加个字段,用来存时间字符串,遍历格式化时就可以将时间存入这个字段了

hellsam
hellsam · #2 · 7年之前

@channel 昨晚我也这样解决的, 新增了个string字符串 然后遍历时候 重新将转换到string里 在输出的

哈哈 和你想法一样啊

Elemyin
Elemyin · #3 · 7年之前

我觉得在前端做过滤器解决比较合适

momaek
momaek · #4 · 7年之前

我也觉得在前端做一个过滤器解决比较好,不过你后端需要把时间戳转换成毫秒,简单来说就是 x1000

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传