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中ResponseWriter的一个坑
Apr 27 Golang
golang 实现对Map进行键值自定义排序
Apr 28 Golang
golang import自定义包方式
Apr 29 Golang
golang 实用库gotable的具体使用
Jul 01 Golang
Go 语言结构实例分析
Jul 04 Golang
修改并编译golang源码的操作步骤
Jul 25 Golang
Golang并发操作中常见的读写锁详析
Aug 30 Golang
Go语言并发编程 sync.Once
Oct 16 Golang
Go并发4种方法简明讲解
Apr 06 Golang
golang操作redis的客户端包有多个比如redigo、go-redis
Apr 14 Golang
Golang日志包的使用
Apr 20 Golang
Golang map映射的用法
Apr 22 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
DOTA2游戏同人动画《龙之血》导演接受采访
2021/03/05 欧美动漫
简单的php 验证图片生成函数
2009/05/21 PHP
纯真IP数据库的应用 IP地址转化成十进制
2009/06/14 PHP
Mysql数据库操作类( 1127版,提供源码下载 )
2010/12/02 PHP
php获取微信共享收货地址的方法
2017/12/21 PHP
laravel在中间件内生成参数并且传递到控制器中的2种姿势
2019/10/15 PHP
PHP项目多语言配置平台实现过程解析
2020/05/18 PHP
有趣的javascript数组定义方法
2010/09/10 Javascript
JS清空多文本框、文本域示例代码
2014/02/24 Javascript
JS实现仿Windows经典风格的选项卡Tab切换代码
2015/10/20 Javascript
js实现选中页面文字将其分享到新浪微博
2015/11/05 Javascript
JS实现的仿QQ空间图片弹出效果代码
2016/02/23 Javascript
浅谈js和css内联外联注意事项
2016/06/30 Javascript
Vue.js第三天学习笔记(计算属性computed)
2016/12/01 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(一)
2017/01/21 Javascript
使用requirejs模块化开发多页面一个入口js的使用方式
2017/06/14 Javascript
vue 实现的树形菜的实例代码
2018/03/19 Javascript
JS大坑之19位数的Number型精度丢失问题详解
2019/04/22 Javascript
vue中实现弹出层动画效果的示例代码
2020/09/25 Javascript
Python时间戳与时间字符串互相转换实例代码
2013/11/28 Python
numpy.ndarray 交换多维数组(矩阵)的行/列方法
2018/08/02 Python
Python获取命令实时输出-原样彩色输出并返回输出结果的示例
2019/07/11 Python
nginx搭建基于python的web环境的实现步骤
2020/01/03 Python
Python多线程通信queue队列用法实例分析
2020/03/24 Python
Tensorflow实现将标签变为one-hot形式
2020/05/22 Python
如何使用python写截屏小工具
2020/09/29 Python
python3 使用ssh隧道连接mysql的操作
2020/12/05 Python
英国的领先快速时尚零售商:In The Style
2019/03/25 全球购物
经销商订货会主持词
2014/03/27 职场文书
医院安全生产月活动总结
2014/07/05 职场文书
“九一八事变纪念日”国旗下讲话稿
2014/09/14 职场文书
工作收入住址证明
2014/10/28 职场文书
文明礼仪倡议书
2015/04/28 职场文书
2015领导干部廉洁自律工作总结
2015/07/23 职场文书
分析Netty直接内存原理及应用
2021/06/14 Java/Android
Python实现提取PDF简历信息并存入Excel
2022/04/02 Python