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 interface判断为空nil的实现代码
Apr 24 Golang
基于go interface{}==nil 的几种坑及原理分析
Apr 24 Golang
win10下go mod配置方式
Apr 25 Golang
golang中的空slice案例
Apr 27 Golang
golang通过递归遍历生成树状结构的操作
Apr 28 Golang
Go语言设计模式之结构型模式
Jun 22 Golang
Go 语言结构实例分析
Jul 04 Golang
golang中的struct操作
Nov 11 Golang
golang三种设计模式之简单工厂、方法工厂和抽象工厂
Apr 10 Golang
golang使用map实现去除重复数组
Apr 14 Golang
Golang jwt身份认证
Apr 20 Golang
基于Python实现西西成语接龙小助手
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
不用mod_rewrite直接用php实现伪静态化页面代码
2008/10/04 PHP
基于Laravel实现的用户动态模块开发
2017/09/21 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式二图文详解
2019/04/09 PHP
PHP实现笛卡尔积算法的实例讲解
2019/12/22 PHP
FireFox与IE 下js兼容触发click事件的代码
2008/11/20 Javascript
javascript 清除输入框中的数据
2009/04/13 Javascript
javascript之通用简单的table选项卡实现(二)
2010/05/09 Javascript
通过Jquery遍历Json的两种数据结构的实现代码
2011/01/19 Javascript
JavaScript面向对象设计二 构造函数模式
2011/12/20 Javascript
javascript中自定义对象的属性方法分享
2013/07/12 Javascript
javascript中的Base64、UTF8编码与解码详解
2015/03/18 Javascript
JS实用技巧小结(屏蔽错误、div滚动条设置、背景图片位置等)
2016/06/16 Javascript
js 基础篇必看(点击事件轮播图的简单实现)
2016/08/20 Javascript
深入理解Javascript中的valueOf与toString
2017/01/04 Javascript
node.js使用stream模块实现自定义流示例
2020/02/13 Javascript
梳理一下vue中的生命周期
2020/12/30 Vue.js
使用Python设置tmpfs来加速项目的教程
2015/04/17 Python
Python使用迭代器捕获Generator返回值的方法
2017/04/05 Python
Windows平台Python连接sqlite3数据库的方法分析
2017/07/12 Python
Python 快速实现CLI 应用程序的脚手架
2017/12/05 Python
python安装教程
2018/02/28 Python
详解python3中zipfile模块用法
2018/06/18 Python
Python3 单行多行万能正则匹配方法
2019/01/07 Python
浅谈python3.x pool.map()方法的实质
2019/01/16 Python
Python Opencv 通过轨迹(跟踪)栏实现更改整张图像的背景颜色
2020/03/09 Python
使用CSS3的背景渐变Text Gradient 创建文字颜色渐变
2014/08/19 HTML / CSS
adidas旗下高尔夫装备供应商:TaylorMade Golf(泰勒梅高尔夫)
2016/08/28 全球购物
Jacadi Paris英国官网:法国童装品牌
2019/08/09 全球购物
邮政员工辞职信
2014/01/16 职场文书
舞蹈毕业生的自我评价
2014/03/05 职场文书
党的群众路线教育学习材料
2014/05/12 职场文书
酒店节能减排方案
2014/05/26 职场文书
学雷锋献爱心活动总结
2015/05/11 职场文书
新手开公司创业注意事项有哪些?
2019/07/29 职场文书
一文简单了解MySQL前缀索引
2022/04/03 MySQL
浅谈Python中对象是如何被调用的
2022/04/06 Python