Go时间戳和日期字符串的相互转换

baiyuxiong · · 102004 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

Go语言中,获取时间戳用time.Now().Unix(),格式化时间用t.Format,解析时间用time.Parse。

看实例代码:

package main

 

import (

"fmt"

"time"

)

 

func main() {

//获取时间戳

timestamp := time.Now().Unix()

fmt.Println(timestamp)

 

//格式化为字符串,tm为Time类型

tm := time.Unix(timestamp, 0)

fmt.Println(tm.Format("2006-01-02 03:04:05 PM"))

fmt.Println(tm.Format("02/01/2006 15:04:05 PM"))

 

 

//从字符串转为时间戳,第一个参数是格式,第二个是要转换的时间字符串

tm2, _ := time.Parse("01/02/2006", "02/08/2015")

fmt.Println(tm2.Unix())

}

 

输出结果:

1423361979

2015-02-08 10:19:39 AM

08/02/2015 10:19:39 AM

1423353600

 

看了上面的代码,你可能会好奇,为什么格式字符串的时候,用的是2006-01-02这种格式。其实在Go语言里,这些数字都是有特殊函义的,不是随便指定的数字,见下面列表:

月份 1,01,Jan,January

日  2,02,_2

时  3,03,15,PM,pm,AM,am

分  4,04

秒  5,05

年  06,2006

周几 Mon,Monday

时区时差表示 -07,-0700,Z0700,Z07:00,-07:00,MST

时区字母缩写 MST


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

本文来自:博客园

感谢作者:baiyuxiong

查看原文:Go时间戳和日期字符串的相互转换

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

102004 次点击  ∙  2 赞  
加入收藏 微博
被以下专栏收入,发现更多相似内容
下一篇:Go字典
2 回复  |  直到 2020-02-19 15:06:42
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传