go语言中的时间转化

package main

import (
	"fmt"
	"time"
)

func main() {
	//获取当前时间
	now := time.Now()
	//时间转化为string
	timeStr := now.Format("2006-01-02 15:04:05")
	fmt.Println("日期类型当前时间: ", now)
	fmt.Println("字符串类型当前时间: ", timeStr)

	//string转化为时间
	date, _ := time.Parse("2006-01-02 15:04:05", "2020-07-18 13:01:22")
	fmt.Println("string转日期:", date)
	//判断两个时间先后
	flag := date.After(now)
	if flag == true {
		fmt.Println("2020-07-18 13:01:22在", timeStr, "之后")
	} else {
		fmt.Println("2020-07-18 13:01:22在", timeStr, "之前")
	}

	//之前和之后的时间
	m, _ := time.ParseDuration("-20m")
	m1 := now.Add(m)
	fmt.Println("20分钟之前:", m1)

	h, _ := time.ParseDuration("-8h")
	h1 := now.Add(h)
	fmt.Println("8小时之前", h1)

	// 一天前
	d, _ := time.ParseDuration("-24h")
	d1 := now.Add(d)
	fmt.Println(d1)

	//计算两个时间差几秒
	sec := now.Sub(m1)
	fmt.Println(sec.Seconds(), "秒")
	//计算两个时间差几分钟
	minutes := now.Sub(m1)
	fmt.Println(minutes.Minutes(), "分钟")
	//计算两个时间差几小时
	hours := now.Sub(h1)
	fmt.Println(hours.Hours(), "小时")
	//计算两个时间差几天
	day := now.Sub(d1)
	fmt.Println(day.Hours()/24, "天")
	//注意:splite3数据库中字段如果是datetime类型获取数据时格式转换会有问题
	//如2017-08-29 08:37:18这样的时间从数据库获取后会变成2017-08-29T08:37:18Z
	//进行格式转化之后不能比较,所以需要将T和Z替换为" "
	//不知道其他数据库有没有这样的问题
}

 

 

这部分代码来源:https://www.cnblogs.com/sevenyuan/p/8515015.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值