Go获取两个时间点时间差的具体实现

目录
  • 获取当前时间及其秒、毫秒、纳秒数
  • 获取两个时间点时间差代码
  • 获取指定时间前的时间
  • 获取指定时间后的时间

获取当前时间及其秒、毫秒、纳秒数

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获取两个时间点时间差的具体实现的文章就介绍到这了,更多相关Go获取时间差内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • go语言计算两个时间的时间差方法

    本文实例讲述了go语言计算两个时间的时间差方法.分享给大家供大家参考.具体分析如下: go语言计算两个时间的时间差,代码很简单,返回1天前.1周前还是1月前的时间 package main import ( "fmt" "time" ) func main() { //Add方法和Sub方法是相反的,获取t0和t1的时间距离d是使用Sub //将t0加d获取t1就是使用Add方法 k := time.Now() //一天之前 d, _ := time.ParseDu

  • C#获取两个时间的时间差并去除周末(取工作日)的方法

    本文实例讲述了C#获取两个时间的时间差并去除周末的方法.分享给大家供大家参考.具体分析如下: 一般来说取时间差的代码很多,但是能够只取工作日的时间差的代码很少,这段代码就来实现这一功能. protected void Page_Load(object sender, EventArgs e) { DateTime start = Convert.ToDateTime("2012-12-10"); DateTime end= Convert.ToDateTime("2012-1

  • Go获取两个时间点时间差的具体实现

    目录 获取当前时间及其秒.毫秒.纳秒数 获取两个时间点时间差代码 获取指定时间前的时间 获取指定时间后的时间 获取当前时间及其秒.毫秒.纳秒数 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"

  • java如何获取两个日期的时间差

    本文实例为大家分享了java如何获取两个日期的时间差,供大家参考,具体内容如下 rainBeginTime是从本地数据库获取的时间,格式为"yyyy-MM-ddTHH:mm:ss". 主要逻辑: @SuppressLint("SimpleDateFormat") SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); df.setTimeZone(TimeZone.ge

  • python求两个时间的时间差(实例代码)

    我们在用python进行分析的时候,可能会碰到计算两个日期的时间差.下面为大家介绍一下如何计算两个时间的时间差: from dateutil.parser import parse a = parse('2017-10-01/12:12:12') b = parse('2013-3-4/10:10:10') (a-b).days (a-b).seconds (a-b).total_seconds() 为大家介绍上面三种函数的含义: 1.days:来获取时间差的天数 2.seconds:来获取时间

  • Vue如何获取两个时间点之间的所有间隔时间

    目录 获取两个时间点之间的所有间隔时间 获取两个时间之间的 间隔时间 获取两个日期之间的间隔日期 获取指定两个月份之间的 间隔月份 获取两个时间点之间的所有间隔时间 说明 使用的是vue@2.6.12和elementUI@2.14.1 使用的是TS,用来校验数据格式 所有返回的数据都是在时间前面自动补全了0 使用的主要方法是new Date().setFullYear()设置当前的时间,如果传入的时间是new Date().setFullYear(2020,12,32),该方法会自动将时间转化为

  • mysql查询获得两个时间的时间差方式

    目录 获得当前时间和另一时间的时间差 mysql最全的计算时间差 计算两日期之间相差多少周 计算两日期之间相差多少天 计算两日期/时间之间相差的秒数 计算两日期/时间之间相差的时分数 获得当前时间和另一时间的时间差 SELECT TIMESTAMPDIFF(SECOND,(select last_locationTime from municipal_employee where employee_id=9),now()) as diffTime; mysql的 TIMESTAMPDIFF(SE

  • postgresql 获取两个时间类型小时差值案例

    我就废话不多说了,看代码吧~ select extract(day from t) * 24 + extract(hour from t) from (select (timestamp '2013-12-14 12:00:00' - timestamp '2013-12-11 4:00:00') as t) as a; 例如a表中有start,end俩字段 select extract(day from (end-start)) * 24 + extract(hour from (end-st

  • android-获取网络时间、获取特定时区时间、时间同步的方法

    最近整理出android-获取网络时间.获取特定时区时间.时间同步的方法.具体如下: 方法一: SimpleDateFormat dff = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); dff.setTimeZone(TimeZone.getTimeZone("GMT+08")); String ee = dff.format(new Date()); 这个方法获取的结果是24小时制的,月份也正确. 这个方法不随手机时间

  • 如何用java计算两个时间相差多少小时

    最近有个需求,根据两个时间,计算两个时间之间相差多少个小时. 查了一下,网上有现成的工具类 摘出自己需要的.得到下面这个 private int getDifferHour(Date startDate, Date endDate) { long dayM = 1000 * 24 * 60 * 60; long hourM = 1000 * 60 * 60; long differ = endDate.getTime() - startDate.getTime(); long hour = di

随机推荐