golang 实现时间戳和时间的转化


Posted in Golang onMay 07, 2021

说实话,golang的时间转化还是很麻烦的,最起码比php麻烦很多,上码好好学学一下

package main 
import (
   "time"
   "fmt"
)
 
func main() {
   //获取当前时间
   t := time.Now() //2018-07-11 15:07:51.8858085 +0800 CST m=+0.004000001
   fmt.Println(t)
 
   //获取当前时间戳
   fmt.Println(t.Unix()) //1531293019
 
   //获得当前的时间
   fmt.Println(t.Uninx().Format("2006-01-02 15:04:05"))  //2018-7-15 15:23:00
 
   //时间 to 时间戳
   loc, _ := time.LoadLocation("Asia/Shanghai")        //设置时区
   tt, _ := time.ParseInLocation("2006-01-02 15:04:05", "2018-07-11 15:07:51", loc) //2006-01-02 15:04:05是转换的格式如php的"Y-m-d H:i:s"
   fmt.Println(tt.Unix())                             //1531292871
 
   //时间戳 to 时间
   tm := time.Unix(1531293019, 0)
   fmt.Println(tm.Format("2006-01-02 15:04:05")) //2018-07-11 15:10:19
 
   //获取当前年月日,时分秒
   y := t.Year()                 //年
   m := t.Month()                //月
   d := t.Day()                  //日
   h := t.Hour()                 //小时
   i := t.Minute()               //分钟
   s := t.Second()               //秒
   fmt.Println(y, m, d, h, i, s) //2018 July 11 15 24 59
}

补充:Golang 13位时间戳转time.Time

时间戳:

时间戳是使用数字签名技术产生的数据,签名的对象包括了原始文件信息、签名参数、签名时间等信息。时间戳系统用来产生和管理时间戳,对签名对象进行数字签名产生时间戳,以证明原始文件在签名时间之前已经存在。

mysql类型timestamp(时间戳)和datetime(时间)差别:

timestamp占用4个字节;

datetime占用8个字节;

timestamp范围1970-01-01 00:00:01.000000 到 2038-01-19 03:14:07.999999;

datetime是1000-01-01 00:00:00.000000 到 9999-12-31 23:59:59.999999;

时间戳格式:

10位数的时间戳是以 秒 为单位,如:1530027865

13位数的时间戳是以 毫秒 为单位, 如:1530027865231

19位数的时间戳是以 纳秒 为单位,如:1530027865231834600

Golang获取当前时间或时间戳

// string
time.Now().Format("2006-01-02 15:04:05")
// time.Time
time.Now()
// int64 时间戳,默认10位,单位:秒
time.Now().UnixNano()

13位时间戳转时间格式

func UnixToTime(e string) (datatime time.Time, err error) {
 data, err := strconv.ParseInt(e, 10, 64)
 datatime = time.Unix(data/1000, 0)
 return
}

时间转13位时间戳

func TimeToUnix(e time.Time) int64 {
 timeUnix, _ := time.Parse("2006-01-02 15:04:05", e.Format("2006-01-02 15:04:05"))
 return timeUnix.UnixNano() / 1e6
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。如有错误或未考虑完全的地方,望不吝赐教。

Golang 相关文章推荐
Golang二维切片初始化的实现
Apr 08 Golang
golang interface判断为空nil的实现代码
Apr 24 Golang
golang通过递归遍历生成树状结构的操作
Apr 28 Golang
聊聊golang中多个defer的执行顺序
May 08 Golang
go xorm框架的使用
May 22 Golang
浅谈Golang 切片(slice)扩容机制的原理
Jun 09 Golang
Go 语言结构实例分析
Jul 04 Golang
go开发alertmanger实现钉钉报警
Jul 16 Golang
一文搞懂Golang 时间和日期相关函数
Dec 06 Golang
如何利用golang运用mysql数据库
Mar 13 Golang
Golang 切片(Slice)实现增删改查
Apr 22 Golang
Go 内联优化让程序员爱不释手
Jun 21 Golang
Golang Gob编码(gob包的使用详解)
May 07 #Golang
go mod 安装依赖 unkown revision问题的解决方案
解决golang 关于全局变量的坑
May 06 #Golang
Goland使用Go Modules创建/管理项目的操作
解决goland 导入项目后import里的包报红问题
Go 自定义package包设置与导入操作
goland 设置project gopath的操作
You might like
PHP Document 代码注释规范
2009/04/13 PHP
一步一步学习PHP(4) php 函数 补充2
2010/02/15 PHP
php gd2 上传图片/文字水印/图片水印/等比例缩略图/实现代码
2010/05/15 PHP
PHP的加密方式及原理
2012/06/14 PHP
PHP error_log()将错误信息写入一个文件(定义和用法)
2013/10/25 PHP
Drupal7连接多个数据库及常见问题解决
2014/03/02 PHP
PHP实现返回JSON和XML的类分享
2015/01/28 PHP
php实现XSS安全过滤的方法
2015/07/29 PHP
基于laravel belongsTo使用详解
2019/10/18 PHP
使用js显示当前时间示例
2014/03/02 Javascript
JS对文本框值的判断示例
2014/03/10 Javascript
html5+javascript制作简易画板附图
2014/04/25 Javascript
JS是按值传递还是按引用传递
2015/01/30 Javascript
JS实现超简洁网页title标题跑动闪烁提示效果代码
2015/10/23 Javascript
解决js函数闭包内存泄露问题的办法
2016/01/25 Javascript
jQuery中借助deferred来请求及判断AJAX加载的实例讲解
2016/05/24 Javascript
使用js获取伪元素的content实例
2017/10/24 Javascript
JavaScript中call和apply方法的区别实例分析
2018/08/03 Javascript
js数据类型检测总结
2018/08/05 Javascript
详解用Webpack与Babel配置ES6开发环境
2019/03/12 Javascript
python re正则表达式模块(Regular Expression)
2014/07/16 Python
python求解水仙花数的方法
2015/05/11 Python
Python安装使用命令行交互模块pexpect的基础教程
2016/05/12 Python
Python数据结构之顺序表的实现代码示例
2017/11/15 Python
python 读入多行数据的实例
2018/04/19 Python
tensorflow: variable的值与variable.read_value()的值区别详解
2018/07/30 Python
PyTorch的深度学习入门教程之构建神经网络
2019/06/27 Python
python修改字典键(key)的方法
2019/08/05 Python
Python urlencode和unquote函数使用实例解析
2020/03/31 Python
在Windows上安装和配置 Jupyter Lab 作为桌面级应用程序教程
2020/04/22 Python
优衣库美国官网:UNIQLO美国
2018/04/14 全球购物
C语言50道问题
2014/10/23 面试题
2015年教师节慰问信
2015/03/23 职场文书
生产车间主任岗位职责
2015/04/08 职场文书
利用Matlab绘制各类特殊图形的实例代码
2021/07/16 Python
深入讲解Vue中父子组件通信与事件触发
2022/03/22 Vue.js