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语言map与string的相互转换的实现
Apr 07 Golang
golang中切片copy复制和等号复制的区别介绍
Apr 27 Golang
go语言中json数据的读取和写出操作
Apr 28 Golang
Golang 空map和未初始化map的注意事项说明
Apr 29 Golang
golang DNS服务器的简单实现操作
Apr 30 Golang
goland设置颜色和字体的操作
May 05 Golang
golang switch语句的灵活写法介绍
May 06 Golang
Golang生成Excel文档的方法步骤
Jun 09 Golang
Go语言设计模式之结构型模式
Jun 22 Golang
golang中的struct操作
Nov 11 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/07/16 PHP
PHP句法规则详解 入门学习
2011/11/09 PHP
深入PHP magic quotes的详解
2013/06/17 PHP
php数组操作之键名比较与差集、交集赋值的方法
2014/11/10 PHP
PHP设计模式之观察者模式实例
2016/02/22 PHP
PHPstorm快捷键(分享)
2017/07/17 PHP
Thinkphp 框架扩展之数据库驱动常用方法小结
2020/04/23 PHP
解决jquery .ajax 在IE下卡死问题的解决方法
2009/10/26 Javascript
获取offsetTop和offsetLeft值的js代码(兼容)
2013/04/16 Javascript
js之ActiveX控件使用说明 new ActiveXObject()
2014/03/03 Javascript
JavaScript数组常用操作技巧汇总
2014/11/17 Javascript
使用JS+plupload直接批量上传图片到又拍云
2014/12/01 Javascript
NodeJS制作爬虫全过程
2014/12/22 NodeJs
Vue.js每天必学之计算属性computed与$watch
2016/09/05 Javascript
jquery实现简单的瀑布流布局
2016/12/11 Javascript
ES6实现的遍历目录函数示例
2017/04/07 Javascript
详解Vue使用 vue-cli 搭建项目
2017/04/20 Javascript
解决AjaxFileupload 上传时会出现连接重置的问题
2017/07/07 Javascript
Vue实现的父组件向子组件传值功能示例
2019/01/19 Javascript
nodejs制作小爬虫功能示例
2020/02/24 NodeJs
vue-cli3 引入 font-awesome的操作
2020/08/11 Javascript
微信小程序反编译的实现
2020/12/10 Javascript
Django rest framework基本介绍与代码示例
2018/01/26 Python
python3.x上post发送json数据
2018/03/04 Python
CentOS 7 安装python3.7.1的方法及注意事项
2018/11/01 Python
TFRecord格式存储数据与队列读取实例
2020/01/21 Python
Django数据结果集序列化并展示实现过程
2020/04/22 Python
Keras:Unet网络实现多类语义分割方式
2020/06/11 Python
python 抓取知乎指定回答下视频的方法
2020/07/09 Python
Python如何定义有可选参数的元类
2020/07/31 Python
Python中random模块常用方法的使用教程
2020/10/04 Python
Python 制作查询商品历史价格的小工具
2020/10/20 Python
凯蒂·佩里个人女鞋品牌:Katy Perry Collections
2019/04/04 全球购物
李维斯牛仔裤荷兰官方网站:Levi’s NL
2020/08/23 全球购物
2014司机年终工作总结
2014/12/05 职场文书
python3 实现mysql数据库连接池的示例代码
2021/04/17 Python