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 相关文章推荐
Go语言使用select{}阻塞main函数介绍
Apr 25 Golang
Go语言带缓冲的通道实现
Apr 26 Golang
解决Go gorm踩过的坑
Apr 30 Golang
go语言中fallthrough的用法说明
May 06 Golang
关于golang高并发的实现与注意事项说明
May 08 Golang
Golang 实现获取当前函数名称和文件行号等操作
May 08 Golang
Golang标准库syscall详解(什么是系统调用)
May 25 Golang
修改并编译golang源码的操作步骤
Jul 25 Golang
一文搞懂Golang 时间和日期相关函数
Dec 06 Golang
GoFrame基于性能测试得知grpool使用场景
Jun 21 Golang
Go结合Gin导出Mysql数据到Excel表格
Aug 05 Golang
Go中使用gjson来操作JSON数据的实现
Aug 14 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
ob_start(),ob_start('ob_gzhandler')使用
2006/12/25 PHP
隐性调用php程序的方法
2009/03/09 PHP
php Session存储到Redis的方法
2013/11/04 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
2015/03/25 PHP
PHP的Yii框架中View视图的使用进阶
2016/03/29 PHP
Jquery Ajax.ashx 高效分页实现代码
2009/10/20 Javascript
js中的caller和callee属性介绍和例子
2014/06/07 Javascript
JavaScript获取两个数组交集的方法
2015/06/09 Javascript
javascript:void(0)是什么意思及href=#与href=javascriptvoid(0)的区别
2015/11/13 Javascript
js实现获取两个日期之间所有日期的方法
2016/06/17 Javascript
AngularJS入门教程之路由与多视图详解
2016/08/19 Javascript
详解Node.js串行化流程控制
2017/05/04 Javascript
深入理解Commonjs规范及Node模块实现
2017/05/17 Javascript
JS请求servlet功能示例
2017/06/01 Javascript
微信小程序动态添加分享数据
2017/06/14 Javascript
Nodejs下使用gm圆形裁剪并合成图片的示例
2018/02/22 NodeJs
vue 使用鼠标滚动加载数据的例子
2019/10/31 Javascript
vue实现页面切换滑动效果
2020/06/29 Javascript
[01:25]2014DOTA2国际邀请赛 zhou分析LGD比赛情况
2014/07/14 DOTA
Python的Tornado框架异步编程入门实例
2015/04/24 Python
python中异常捕获方法详解
2017/03/03 Python
在django中使用自定义标签实现分页功能
2017/07/04 Python
Windows下python3.6.4安装教程
2018/07/31 Python
浅谈django url请求与数据库连接池的共享问题
2019/08/29 Python
Python 内存管理机制全面分析
2021/01/16 Python
Python3中对json格式数据的分析处理
2021/01/28 Python
办理居住证介绍信
2014/01/15 职场文书
粗加工管理制度
2014/02/04 职场文书
有创意的广告词
2014/03/18 职场文书
食品安全工作实施方案
2014/03/26 职场文书
学生逃课检讨书1000字
2014/10/20 职场文书
2014年档案管理员工作总结
2014/12/01 职场文书
机关工会工作总结2015
2015/05/26 职场文书
微观世界观后感
2015/06/10 职场文书
css常用字体属性与背景属性介绍
2022/02/28 HTML / CSS
GO语言异常处理分析 err接口及defer延迟
2022/04/14 Golang