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 相关文章推荐
golang判断key是否在map中的代码
Apr 24 Golang
解决Golang time.Parse和time.Format的时区问题
Apr 29 Golang
Go 在 MongoDB 中常用查询与修改的操作
May 07 Golang
Go语言实现Snowflake雪花算法
Jun 08 Golang
Golang生成Excel文档的方法步骤
Jun 09 Golang
go开发alertmanger实现钉钉报警
Jul 16 Golang
Go Plugins插件的实现方式
Aug 07 Golang
Golang原生rpc(rpc服务端源码解读)
Apr 07 Golang
Golang数据类型和相互转换
Apr 12 Golang
Golang 字符串的常见操作
Apr 19 Golang
Golang 实现 WebSockets 之创建 WebSockets
Apr 24 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
php下使用strpos需要注意 === 运算符
2010/07/17 PHP
ie与session丢失(新窗口cookie丢失)实测及解决方案
2013/07/15 PHP
laravel 4安装及入门图文教程
2014/10/29 PHP
给ECShop添加最新评论
2015/01/07 PHP
php mysql procedure实现获取多个结果集的方法【基于thinkPHP】
2016/11/09 PHP
setInterval 和 setTimeout会产生内存溢出
2008/02/15 Javascript
YUI的Tab切换实现代码
2010/04/11 Javascript
img onload事件绑定各浏览器均可执行
2012/12/19 Javascript
Jquery的Tabs内容轮换效果实现代码,几行搞定
2014/02/12 Javascript
深入剖析JavaScript中的枚举功能
2014/03/06 Javascript
Jquery实现Div上下移动示例
2014/04/23 Javascript
javascript实现阻止iOS APP中的链接打开Safari浏览器
2014/06/12 Javascript
JavaScript的作用域和块级作用域概念理解
2014/09/21 Javascript
深入理解JavaScript系列(33):设计模式之策略模式详解
2015/03/03 Javascript
JS实现根据文件字节数返回文件大小的方法
2016/08/02 Javascript
js实现放大镜特效
2017/05/18 Javascript
vue router嵌套路由在history模式下刷新无法渲染页面问题的解决方法
2018/01/25 Javascript
layui table设置前台过滤转义等方法
2018/08/17 Javascript
vue-cli3 从搭建到优化的详细步骤
2019/01/20 Javascript
通过JS深度判断两个对象字段相同
2019/06/14 Javascript
vue axios重复点击取消上一次请求封装的方法
2019/06/19 Javascript
Vue常用的全选/反选的示例代码
2020/02/19 Javascript
Javascript执行上下文顺序的深入讲解
2020/11/04 Javascript
Python学习笔记之os模块使用总结
2014/11/03 Python
python放大图片和画方格实现算法
2018/03/30 Python
pytorch训练imagenet分类的方法
2018/07/27 Python
详解用python写一个抽奖程序
2019/05/10 Python
Python异步操作MySQL示例【使用aiomysql】
2019/05/16 Python
Spring实战之使用util:命名空间简化配置操作示例
2019/12/09 Python
使用Python将图片转正方形的两种方法实例代码详解
2020/04/29 Python
OpenCV 之按位运算举例解析
2020/06/19 Python
HTML5 Canvas实现平移/放缩/旋转deom示例(附截图)
2013/07/04 HTML / CSS
门卫班长岗位职责
2013/12/15 职场文书
维稳承诺书
2015/01/20 职场文书
2016年5月份红领巾广播稿
2015/12/21 职场文书
MySQL数据库压缩版本安装与配置详细教程
2021/05/21 MySQL