Go获取两个时区的时间差


Posted in Golang onApril 20, 2022

获取当前时间及其秒、毫秒、纳秒数

now := time.Now() //获取当前时间
==>2019-08-21 11:30:51.2470317 +0800 CST m=+0.004501101
fmt.Printf("时间戳(秒):%v;\n", time.Now().Unix())        //10位
fmt.Printf("时间戳(纳秒):%v;\n",time.Now().UnixNano())    //19位
fmt.Printf("时间戳(毫秒):%v;\n",time.Now().UnixNano() / 1e6)        //或者秒*1000也可
fmt.Printf("时间戳(纳秒-->秒):%v;\n",time.Now().UnixNano() / 1e9)

两个时间作差,第一个时间是t1,第二个时间是t2,那么时间差是t2.Sub(t1)

具体显示时间可以通过Format(time.ANSIC)打印时间格式,以及In接口+Location设置时区

例如:

TimeLocation, err := time.LoadLocation("Asia/Shanghai")
//err处理
t1.Now().In(TimeLocation).Format(time.ANSIC)

获取两个时间点时间差代码

package main

import (
    "fmt"
    "time"
)

func main() {
    temp := 0
    t1 := time.Now()
    for i := 0; i < 100000; i++ {
        for j := 0; j < 10000; j++ {
            temp++
        }
    }
    fmt.Println(temp)
    t2 := time.Now()
    fmt.Println(t2.Sub(t1))

}

获取指定时间前的时间

// 获取50秒前的时间,方式1
st,_ := time.ParseDuration("-50s")
fmt.Println("50秒前的时间:",time.Now().Add(st))
 
// 获取1分钟前的时间,n秒前则是time.Second * -n,方式2
t := time.Now().Add(time.Minute * -1) 
fmt.Println("一分钟前的时间:",t)
 
//获取1小时前的时间
sth,_ := time.ParseDuration("-1h")
fmt.Println("1小时前的时间:",time.Now().Add(sth))
 
// 获取2天前的时间
oldTime := time.Now().AddDate(0, 0, -2)
 
//获取两个月前的时间
oldTime := time.Now().AddDate(0, -2, 0)

 获取指定时间后的时间

// 获取50秒后的时间,方式1
st,_ := time.ParseDuration("50s")
fmt.Println("50秒之后的时间:",time.Now().Add(st))
 
// 获取1分钟后的时间,n秒前则是time.Second * n,方式2
t := time.Now().Add(time.Minute * 1) 
fmt.Println("一分钟后的时间:",t)
 
//获取1小时后的时间
sth,_ := time.ParseDuration("1h")
fmt.Println("1小时之后的时间:",time.Now().Add(sth))
 
// 获取当前时间2天后的时间
newTime := time.Now().AddDate(0, 0, 2)
//newTime 的结果为时间time类型
 
//获取当前时间2月后的时间
newTime := time.Now().AddDate(0, 2, 0)

到此这篇关于Go获取两个时间点时间差的具体实现的文章就介绍到这了!

Golang 相关文章推荐
Go语言-为什么返回值为接口类型,却返回结构体
Apr 24 Golang
goland 清除所有的默认设置操作
Apr 28 Golang
golang 生成对应的数据表struct定义操作
Apr 28 Golang
Golang: 内建容器的用法
May 05 Golang
go类型转换及与C的类型转换方式
May 05 Golang
聊聊golang中多个defer的执行顺序
May 08 Golang
go select编译期的优化处理逻辑使用场景分析
Jun 28 Golang
golang实现浏览器导出excel文件功能
Mar 25 Golang
victoriaMetrics库布隆过滤器初始化及使用详解
Apr 05 Golang
GO语言异常处理分析 err接口及defer延迟
Apr 14 Golang
Golang解析JSON对象
Apr 30 Golang
Go语言编译原理之源码调试
Aug 05 Golang
Golang jwt身份认证
实现GO语言对数组切片去重
Apr 20 #Golang
Golang日志包的使用
Apr 20 #Golang
Golang获取List列表元素的四种方式
Apr 20 #Golang
Golang 对es的操作实例
Apr 20 #Golang
Golang 遍历二叉树
Apr 19 #Golang
Golang MatrixOne使用介绍和汇编语法
Apr 19 #Golang
You might like
Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法
2011/06/30 PHP
CI框架中zip类应用示例
2014/06/17 PHP
php+mysql实现用户注册登陆的方法
2015/01/03 PHP
RR vs IO BO3 第二场2.13
2021/03/10 DOTA
jqPlot Option配置对象详解
2009/07/25 Javascript
学习ExtJS TextField常用方法
2009/10/07 Javascript
jquery中对表单的基本操作代码
2010/07/29 Javascript
json数据与字符串的相互转化示例
2013/09/18 Javascript
纯javascript实现四方向文本无缝滚动效果
2015/06/16 Javascript
jQuery仿IOS弹出框插件
2017/02/18 Javascript
javascript图片预览和上传(兼容IE)
2017/03/15 Javascript
Vue通过URL传参如何控制全局console.log的开关详解
2017/12/07 Javascript
Vue中的基础过渡动画及实现原理解析
2018/12/04 Javascript
基于webpack4.X从零搭建React脚手架的方法步骤
2018/12/23 Javascript
vue中父子组件传值,解决钩子函数mounted只运行一次的操作
2020/07/27 Javascript
vue 封装面包屑组件教程
2020/11/16 Javascript
创建与框架无关的JavaScript插件
2020/12/01 Javascript
JS代码实现页面切换效果
2021/01/10 Javascript
[54:30]Liquid vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python实现识别手写数字大纲
2018/01/29 Python
python根据url地址下载小文件的实例
2018/12/18 Python
pyqt5实现俄罗斯方块游戏
2019/01/11 Python
python xpath获取页面注释的方法
2019/01/14 Python
Python List列表对象内置方法实例详解
2019/10/22 Python
Python‘==‘ 及 ‘is‘相关原理解析
2020/09/05 Python
tensorflow2.0教程之Keras快速入门
2021/02/20 Python
俄罗斯最大的消费电子连锁零售商:Mvideo
2017/06/25 全球购物
维也纳通行证:Vienna PASS
2019/07/18 全球购物
意大利和国际最佳时尚品牌:Drestige
2019/12/28 全球购物
2014年班主任自我评价范文
2014/04/23 职场文书
关于安全的演讲稿
2014/05/09 职场文书
领导班子整改方案
2014/10/25 职场文书
个人总结格式范文
2015/03/09 职场文书
涨价通知
2015/04/23 职场文书
给学校的建议书400字
2015/09/14 职场文书
python中print格式化输出的问题
2021/04/16 Python