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在GRPC中设置client的超时时间
Apr 27 Golang
go 原生http web 服务跨域restful api的写法介绍
Apr 27 Golang
golang json数组拼接的实例
Apr 28 Golang
golang slice元素去重操作
Apr 30 Golang
解决golang post文件时Content-Type出现的问题
May 02 Golang
go语言中fallthrough的用法说明
May 06 Golang
Golang标准库syscall详解(什么是系统调用)
May 25 Golang
go select编译期的优化处理逻辑使用场景分析
Jun 28 Golang
使用GO语言实现Mysql数据库CURD的简单示例
Aug 07 Golang
详解Go语言中配置文件使用与日志配置
Jun 01 Golang
Go调用Rust方法及外部函数接口前置
Jun 14 Golang
Go Grpc Gateway兼容HTTP协议文档自动生成网关
Jun 16 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加MYSQL服务器
2006/10/09 PHP
用PHP+MySql编写聊天室
2006/10/09 PHP
windows下开发并编译PHP扩展的方法
2011/03/18 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十四)
2014/06/26 PHP
PHP函数引用返回的实例详解
2016/09/11 PHP
php微信开发之自定义菜单完整流程
2016/10/08 PHP
完美解决Thinkphp3.2中插入相同数据的问题
2017/08/01 PHP
解决Laravel5.5下的toArray问题
2019/10/15 PHP
PHP设计模式概论【概念、分类、原则等】
2020/05/01 PHP
一段利用WSH获取登录时间的jscript代码
2008/05/11 Javascript
jquery DOM操作 基于命令改变页面
2010/05/06 Javascript
详解JS面向对象编程
2016/01/24 Javascript
基于JavaScript实现点击页面任何位置返回
2016/08/31 Javascript
jQuery插件jquery.kxbdmarquee.js实现无缝滚动效果
2017/02/15 Javascript
vue项目中引入noVNC远程桌面的方法
2018/03/05 Javascript
js 图片转base64的方式(两种)
2018/04/24 Javascript
JavaScript累加、迭代、穷举、递归等常用算法实例小结
2018/05/08 Javascript
vue3.0 CLI - 2.6 - 组件的复用入门教程
2018/09/14 Javascript
axios取消请求的实践记录分享
2018/09/26 Javascript
vue项目使用$router.go(-1)返回时刷新原来的界面操作
2020/07/26 Javascript
一分钟学会JavaScript中的try-catch
2020/12/14 Javascript
python实现类似ftp传输文件的网络程序示例
2014/04/08 Python
一波神奇的Python语句、函数与方法的使用技巧总结
2015/12/08 Python
Java与Python两大幸存者谁更胜一筹呢
2018/04/12 Python
Python去除字符串前后空格的几种方法
2019/03/04 Python
用60行代码实现Python自动抢微信红包
2021/02/04 Python
css3边框_动力节点Java学院整理
2017/07/11 HTML / CSS
英国第一豪华护肤品牌:Elemis
2017/10/12 全球购物
捷克浴室和厨房设备购物网站:SIKO
2018/08/11 全球购物
英国莱斯特松木橡木家具网上商店:Choice Furniture Superstore
2019/07/05 全球购物
泰国在线书店:SE-ED
2020/06/21 全球购物
学校大课间活动方案
2014/01/30 职场文书
安全生产汇报材料
2014/02/17 职场文书
治安消防安全责任书
2014/07/23 职场文书
结婚十年感言
2015/07/31 职场文书
小程序与后端Java接口交互实现HelloWorld入门
2021/07/09 Java/Android