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语言-在mac下brew升级golang
Apr 25 Golang
golang中切片copy复制和等号复制的区别介绍
Apr 27 Golang
golang在GRPC中设置client的超时时间
Apr 27 Golang
golang 如何通过反射创建新对象
Apr 28 Golang
golang 如何用反射reflect操作结构体
Apr 28 Golang
彻底理解golang中什么是nil
Apr 29 Golang
Go使用协程交替打印字符
Apr 29 Golang
Go语言 go程释放操作(退出/销毁)
Apr 30 Golang
解决goland 导入项目后import里的包报红问题
May 06 Golang
Go语言设计模式之结构型模式
Jun 22 Golang
详解Go语言中配置文件使用与日志配置
Jun 01 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
关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
2015/12/21 PHP
php使用curl通过代理获取数据的实现方法
2016/05/16 PHP
关于laravel 数据库迁移中integer类型是无法指定长度的问题
2019/10/09 PHP
jquery判断字符输入个数(数字英文长度记为1,中文记为2,超过长度自动截取)
2010/10/15 Javascript
jquery实现图片左右间隔滚动特效(可自动播放)
2013/05/08 Javascript
JavaScript中的数组特性介绍
2014/12/30 Javascript
js实现精美的银灰色竖排折叠菜单
2015/05/16 Javascript
JS实现自动变化的导航菜单效果代码
2015/09/09 Javascript
浅谈javascript基础之客户端事件驱动
2016/06/10 Javascript
详解如何在vue中使用sass
2017/06/21 Javascript
通过button将form表单的数据提交到action层的实例
2017/09/08 Javascript
基于Vue2x实现响应式自适应轮播组件插件VueSliderShow功能
2018/05/16 Javascript
layui禁用侧边导航栏点击事件的解决方法
2019/09/25 Javascript
JavaScript实现移动小精灵的案例代码
2020/12/12 Javascript
[07:03]显微镜下的DOTA2第九期——430圣堂刺客杀戮秀
2014/06/20 DOTA
Python使用flask框架操作sqlite3的两种方式
2018/01/31 Python
浅谈DataFrame和SparkSql取值误区
2018/06/09 Python
详解python3安装pillow后报错没有pillow模块以及没有PIL模块问题解决
2019/04/17 Python
Python中生成一个指定长度的随机字符串实现示例
2019/11/06 Python
基于Numba提高python运行效率过程解析
2020/03/02 Python
解决python Jupyter不能导入外部包问题
2020/04/15 Python
国外的一些J2EE面试题一
2012/10/13 面试题
会计专业毕业生自荐信范文
2013/12/20 职场文书
保安的辞职报告怎么写
2014/01/20 职场文书
动画设计系毕业生求职信
2014/07/15 职场文书
关于读书的演讲稿300字
2014/08/27 职场文书
保险公司演讲稿
2014/09/02 职场文书
班子个人四风问题整改措施
2014/10/04 职场文书
校园广播稿100字
2014/10/06 职场文书
2014年人事专员工作总结
2014/11/19 职场文书
2015年艾滋病宣传活动总结
2015/03/27 职场文书
2016年大学生暑期社会实践方案
2015/11/26 职场文书
2016年教师政治思想表现评语
2015/12/02 职场文书
python库sklearn常用操作
2021/08/23 Python
MySQL中order by的使用详情
2021/11/17 MySQL
SQL Server的存储过程与触发器以及系统函数和自定义函数
2022/04/10 SQL Server