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 实现对Map进行键值自定义排序
Apr 28 Golang
浅谈Golang 嵌套 interface 的赋值问题
Apr 29 Golang
完美解决golang go get私有仓库的问题
May 05 Golang
Goland使用Go Modules创建/管理项目的操作
May 06 Golang
解决golang 关于全局变量的坑
May 06 Golang
go web 预防跨站脚本的实现方式
Jun 11 Golang
golang fmt格式“占位符”的实例用法详解
Jul 04 Golang
golang实现一个简单的websocket聊天室功能
Oct 05 Golang
Go语言特点及基本数据类型使用详解
Mar 21 Golang
Golang数据类型和相互转换
Apr 12 Golang
Golang流模式之grpc的四种数据流
Apr 13 Golang
Go本地测试解耦任务拆解及沟通详解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中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
2011/11/10 PHP
Zend Guard使用指南及问题处理
2015/01/07 PHP
在WordPress中使用wp_count_posts函数来统计文章数量
2016/01/05 PHP
实例讲解PHP页面静态化
2018/02/05 PHP
laravel orm 关联条件查询代码
2019/10/21 PHP
在b/s开发中经常用到的javaScript技术
2006/08/23 Javascript
JS event使用方法详解
2008/04/28 Javascript
JavaScript DOM学习第六章 表单实例
2010/02/19 Javascript
javascript 数组排序函数sort和reverse使用介绍
2013/11/21 Javascript
基于JavaScript的操作系统你听说过吗?
2016/01/28 Javascript
javascript中Date对象应用之简易日历实现
2016/07/12 Javascript
简单实现轮播图效果的实例
2016/07/15 Javascript
详解AngularJS 路由 resolve用法
2017/04/24 Javascript
Node.js实现用户评论社区功能(体验前后端开发的乐趣)
2019/05/09 Javascript
微信小程序实现音乐播放器
2019/11/20 Javascript
JS箭头函数和常规函数之间的区别实例分析【 5 个区别】
2020/05/27 Javascript
ElementUI 修改默认样式的几种办法(小结)
2020/07/29 Javascript
Vue+ElementUI 中级联选择器Bug问题的解决
2020/07/31 Javascript
js回到页面指定位置的三种方式
2020/12/17 Javascript
python导入csv文件出现SyntaxError问题分析
2017/12/15 Python
[原创]Python入门教程5. 字典基本操作【定义、运算、常用函数】
2018/11/01 Python
python开头的coding设置方法
2019/08/08 Python
Django项目之Elasticsearch搜索引擎的实例
2019/08/21 Python
Python 仅获取响应头, 不获取实体的实例
2019/08/21 Python
Python3打包exe代码2种方法实例解析
2020/02/17 Python
Django封装交互接口代码
2020/07/12 Python
Simons官方网站:加拿大时尚零售商
2020/02/20 全球购物
什么是数据抽象
2016/11/26 面试题
大学生创业策划书
2014/02/02 职场文书
煤矿安全知识竞赛活动总结
2014/07/07 职场文书
出纳年终工作总结2014
2014/12/05 职场文书
葬礼主持词
2015/07/02 职场文书
如何将JavaScript将数组转为树形结构
2021/06/02 Javascript
Win10 和 Win11可以共存吗? win10/11产品生命周期/服务更新介绍
2021/11/21 数码科技
分享7个 Python 实战项目练习
2022/03/03 Python
Android存储中最基本的文件存储方式
2022/04/30 Java/Android