golang 时间操作常用api(Api)

golang 时间操作常用api(Api)

  • 转成普通的 yyyy-MM-dd 普通时间 没有像java那样的格式 要死记 总计 1234567
package main

import (
	"fmt"
	"time"
)

func main() {
	//当前时间
	nowTime :=	time.Now(); //	nowTime :=	time.Now().UTC() 协调时间;
	fmt.Printf("%v\n",nowTime)
	fmt.Printf("%02d.%02d.%4d\n", nowTime.Year(), nowTime.Month(), nowTime.Year())
	//转成普通的 yyyy-MM-dd 普通时间 没有像java那样的格式 要死记 总计 1234567 
	nowTimeStr :=nowTime.Format("2006-01-02 15:04:05")
	fmt.Printf("%v\n",nowTimeStr)
	//转成时间戳 然后新增一天
	addTime :=nowTime.Unix()+3600*24;
	//将时间戳转化为 Time
	tm := time.Unix(addTime, 0)
	fmt.Printf("addTime: %v\n",time.Unix(addTime, 0).Format("2006-01-02 15:04:05"))
	// 判断两个时间的大小
    isTrue :=	tm.After(nowTime)
	fmt.Printf("%v\n",isTrue)
	//计算两个时间的时间差
	subTime :=tm.Sub(nowTime)
	fmt.Printf("时间差毫秒 %v ,秒 %v\n",subTime.Milliseconds(),subTime.Seconds())
	// 10分钟前
	m, _ := time.ParseDuration("-10m") // -1h
	nowTimeMin :=nowTime.Add(m)
	fmt.Printf("nowTimeMin %v\n ",nowTimeMin)
	//10分钟后
	tenAfter, _ :=time.ParseDuration("10m");
	nowTimetenAfter :=nowTime.Add(tenAfter)
	fmt.Printf("nowTimetenAfter %v\n ",nowTimetenAfter)

}

输出


GOROOT=D:\softinstall\GO_HOME #gosetup
GOPATH=C:\Users\HCP\go #gosetup
D:\softinstall\GO_HOME\bin\go.exe build -o C:\Users\HCP\AppData\Local\Temp\___1go_build_timeTest_go.exe D:\softinstall\GO\src\mygo\lcw\test\timeTest.go #gosetup
C:\Users\HCP\AppData\Local\Temp\___1go_build_timeTest_go.exe #gosetup
2021-05-31 15:56:20.9512013 +0800 CST m=+0.004222001
2021.05.2021
2021-05-31 15:56:20
addTime: 2021-06-01 15:56:20
true
时间差毫秒 86399048 ,86399.0487987
nowTimeMin 2021-05-31 15:46:20.9512013 +0800 CST m=-599.995777999
 nowTimetenAfter 2021-05-31 16:06:20.9512013 +0800 CST m=+600.004222001
 
Process finished with exit code 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值