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 Gin实现文件上传下载的示例代码
Apr 02 Golang
Golang 实现超大文件读取的两种方法
Apr 27 Golang
golang http使用踩过的坑与填坑指南
Apr 27 Golang
解决go在函数退出后子协程的退出问题
Apr 30 Golang
goland设置颜色和字体的操作
May 05 Golang
再次探讨go实现无限 buffer 的 channel方法
Jun 13 Golang
Golang数据类型和相互转换
Apr 12 Golang
Golang流模式之grpc的四种数据流
Apr 13 Golang
Go语言 详解net的tcp服务
Apr 14 Golang
Golang获取List列表元素的四种方式
Apr 20 Golang
Golang map映射的用法
Apr 22 Golang
Go gRPC进阶教程gRPC转换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
第十四节 命名空间 [14]
2006/10/09 PHP
php+javascript的日历控件
2009/11/19 PHP
PHP中Header使用的HTTP协议及常用方法小结
2014/11/04 PHP
Javascript表达式中连续的 &amp;&amp; 和 || 之赋值区别
2010/10/17 Javascript
jQuery获取注册信息并提示实现代码
2013/04/21 Javascript
JS格式化数字金额用逗号隔开保留两位小数
2013/10/18 Javascript
JavaScript 学习笔记之变量及其作用域
2015/01/14 Javascript
Javascript无参数和有参数类继承问题解决方法
2015/03/02 Javascript
jQuery获取元素父节点的方法
2016/06/21 Javascript
Javascript动画效果(1)
2016/10/11 Javascript
微信小程序 网络API 上传、下载详解
2016/11/09 Javascript
vue+vux实现移动端文件上传样式
2017/07/28 Javascript
浅谈vue-router 路由传参的方法
2017/12/27 Javascript
vue-cli常用设置总结
2018/02/24 Javascript
用vue写一个仿简书的轮播图的示例代码
2018/03/13 Javascript
Vue动态路由缓存不相互影响的解决办法
2019/02/19 Javascript
jenkins自动构建发布vue项目的方法步骤
2021/01/04 Vue.js
Element-ui 自带的两种远程搜索(模糊查询)用法讲解
2021/01/29 Javascript
[57:47]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python使用PyGreSQL操作PostgreSQL数据库教程
2014/07/30 Python
Python计算三角函数之asin()方法的使用
2015/05/15 Python
python执行子进程实现进程间通信的方法
2015/06/02 Python
通过源码分析Python中的切片赋值
2017/05/08 Python
python爬虫正则表达式之处理换行符
2018/06/08 Python
Python3 chardet模块查看编码格式的例子
2019/08/14 Python
Django项目使用ckeditor详解(不使用admin)
2019/12/17 Python
python手写均值滤波
2020/02/19 Python
Django vue前后端分离整合过程解析
2020/11/20 Python
澳大利亚便宜隐形眼镜购买网站:QUICKLENS Australia
2018/10/06 全球购物
武汉英思工程科技有限公司&ndash;ORACLE面试测试题目
2012/04/30 面试题
珍珠鸟教学反思
2014/02/01 职场文书
税务干部鉴定材料
2014/02/11 职场文书
心得体会的写法
2014/09/05 职场文书
2014教师“四风问题”对照检查材料思想汇报
2014/09/16 职场文书
2016年大学光棍节活动总结
2016/04/05 职场文书
python字符串的多行输出的实例详解
2021/06/08 Python