Go对时间类型的处理

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

一、datetime转换成时间字符串

Format函数

package main
 
import (
    "fmt"
    "reflect"
    "time"
)
 
func main() {
    now := time.Now()       // 当前 datetime 时间
    fmt.Println(reflect.TypeOf(now))    // 打印当前时间的类型
    fmt.Println(now)        // 打印当前时间
    fmt.Println("***********************")
    t1 := now.Format("2006-01-02 15:04:05")     // 把当前 datetime 时间转换成时间字符串
    fmt.Println(t1)
    fmt.Println(reflect.TypeOf(t1))
}


执行结果

time.Time
2019-09-16 17:51:01.2357834 +0800 CST m=+0.004988701
***********************
2019-09-16 17:51:01
string

二、datetime转换成时间戳

package main
 
import (
    "fmt"
    "time"
)
 
func parse_datetime_to_timestamp(d time.Time) int64 {
    unix_time := d.Unix()
    return unix_time
}
func main() {
    now := time.Now()                      // 当前 datetime 时间
    t1 := parse_datetime_to_timestamp(now) // 转换成时间戳
 
    tomorrow := now.AddDate(0, 0, +1)           // 一天之后的 datetime 时间
    t2 := parse_datetime_to_timestamp(tomorrow) // 转换成时间戳
 
    fmt.Println(t1)
    fmt.Println(t2)
}


执行结果

1568631868
1568718268

三、字符串时间转换成时间搓

//字符串类型转换成时间类型
time.Parse("2006010215:04", "2022012215:30")

//时间类型转换成时间搓
func parse_datetime_to_timestamp(d time.Time) int64 {
	unix_time := d.Unix()
	return unix_time
}

func main() {
	tm, _ := time.Parse("2006010215:04", "2022012215:30")
	
	res := parse_datetime_to_timestamp(tm)
	res = res - 8*60*60   //东八区时间要减去8小时
	fmt.Println(res)
}

四、日期加减操作

package main
 
import (
    "fmt"
    "time"
)
 
func main() {
    now := time.Now()       // 当前 datetime时间
    tomorrow := now.AddDate(0, 0, +1)   // 一天之后的时间
    fmt.Println(tomorrow)
    
    day_after_15 := now.AddDate(0, 0, -15)  // 15天之前的时间
    fmt.Println(day_after_15)
}

执行结果

2019-09-17 17:55:59.4755575 +0800 CST
2019-09-01 17:55:59.4755575 +0800 CST

五、时间搓转换成格式字符串

time.Unix(successTime, 0).Format("Jan 02 2006, 15:04 PM"),
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值