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 生成对应的数据表struct定义操作
Apr 28 Golang
彻底理解golang中什么是nil
Apr 29 Golang
Golang 空map和未初始化map的注意事项说明
Apr 29 Golang
Go标准容器之Ring的使用说明
May 05 Golang
golang 实现并发求和
May 08 Golang
Golang生成Excel文档的方法步骤
Jun 09 Golang
Go Plugins插件的实现方式
Aug 07 Golang
Golang表示枚举类型的详细讲解
Sep 04 Golang
浅谈GO中的Channel以及死锁的造成
Mar 18 Golang
Golang 并发编程 SingleFlight模式
Apr 26 Golang
Go结合Gin导出Mysql数据到Excel表格
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教程 预定义变量
2009/10/23 PHP
PHP图像裁剪缩略裁切类源码及使用方法
2016/01/07 PHP
PHP基于IMAP收取邮件的方法示例
2017/08/07 PHP
PHP扩展安装方法步骤解析
2020/11/24 PHP
JS是否可以跨文件同时控制多个iframe页面的应用技巧
2007/12/16 Javascript
Javascript 判断是否存在函数的方法
2013/01/03 Javascript
关于extjs4如何获取grid修改后的数据的问题
2013/08/07 Javascript
使用js画图之画切线
2015/01/12 Javascript
javascript+canvas实现刮刮卡抽奖效果
2015/07/29 Javascript
Bootstrap网格系统详解
2016/04/26 Javascript
jQuery实现导航滚动到指定内容效果完整实例【附demo源码下载】
2016/09/20 Javascript
Windows环境下npm install 报错: operation not permitted, rename的解决方法
2016/09/26 Javascript
BootStrap轮播HTML代码(推荐)
2016/12/10 Javascript
JS中showModalDialog关闭子窗口刷新主窗口用法详解
2017/03/25 Javascript
javascript 数据存储的常用函数总结
2017/06/01 Javascript
JavaScript输入框字数实时统计更新
2017/06/17 Javascript
详解Vue中watch的高级用法
2018/05/02 Javascript
python分析nignx访问日志脚本分享
2015/02/26 Python
详细介绍Python中的偏函数
2015/04/27 Python
python web框架学习笔记
2016/05/03 Python
python3.5实现socket通讯示例(TCP)
2017/02/07 Python
Python cookbook(数据结构与算法)从字典中提取子集的方法示例
2018/03/22 Python
Python django搭建layui提交表单,表格,图标的实例
2019/11/18 Python
Python中求对数方法总结
2020/03/10 Python
Python基础教程(一)——Windows搭建开发Python开发环境
2020/07/20 Python
python 装饰器的使用示例
2020/10/10 Python
Python基于mediainfo批量重命名图片文件
2020/12/29 Python
资生堂美国官网:Shiseido美国
2016/09/02 全球购物
Dyson加拿大官方网站:购买戴森吸尘器,风扇,冷热器及配件
2016/10/26 全球购物
教师教学评估方案
2014/05/09 职场文书
物业管理工作方案
2014/05/10 职场文书
2014年乡镇民政工作总结
2014/12/02 职场文书
2015年创先争优活动总结
2015/03/27 职场文书
单位考核鉴定意见
2015/06/05 职场文书
2016年党建工作简报
2015/11/26 职场文书
你知道Java Spring的两种事务吗
2022/03/16 Java/Android