Golang 时间操作


package main

import (
	"fmt"
	"time"
)

func main() {
	//指定某一天转月份
	day, _ := time.Parse("2006-01-02", "2017-11-14")
	month := time.Unix(day.Unix(), 0).Format("2006-01")
	fmt.Println(month)

	//获取当前时间
	fmt.Println(time.Now())

	//获取昨天 "2006-01-02 15:04:05"
	yesterday := time.Now().AddDate(0, 0, -1).Format("2006-01-02")
	fmt.Println(yesterday)

	//获取当前年
	fmt.Println(time.Now().Year())

	//获取当前月
	fmt.Println(int(time.Now().Month()))

	//获取当前日
	fmt.Println(time.Now().Day())

	//获取当前周几
	fmt.Println(int(time.Now().Weekday()))

	//获取当前小时
	fmt.Println(time.Now().Hour())

	//获取当前分钟
	fmt.Println(time.Now().Minute())

	//获取当前秒
	fmt.Println(time.Now().Second())

	//获取当前时间戳-秒
	fmt.Println(time.Now().Unix())

	//获取当前时间戳-纳秒
	fmt.Println(time.Now().UnixNano())
    
    //两个时间相差的时间戳-秒
    local, _ := time.LoadLocation("Local")
    end_time, _ := time.ParseInLocation("2006-01-02", time.Now().AddDate(0, 0, 1).Format("2006-01-02"), local)
    expired_time := int64(end_time.Unix() - time.Now().In(local).Unix())
    spew.Dump(expired_time)
    
    //时间 to 时间戳
   loc, _ := time.LoadLocation("Asia/Shanghai")        //设置时区
   tt, _ := time.ParseInLocation("2006-01-02 15:04:05", "2018-07-11 15:07:51", loc) 
   fmt.Println(tt.Unix())                             //1531292871
 
   //时间戳 to 时间
   tm := time.Unix(1531293019, 0)
   fmt.Println(tm.Format("2006-01-02 15:04:05")) //2018-07-11 15:10:19
   
//获取相差时间
func GetDayDiffer(start_time, end_time string) int {
   var day int
   t1, err := time.ParseInLocation("2006-01-02", start_time, time.Local)
   t2, err := time.ParseInLocation("2006-01-02", end_time, time.Local)

   if err == nil && t1.Before(t2) {
      diff := t2.Unix() - t1.Unix()
      return int(diff / 3600 / 24)
   } else {
      return day
   }
}
    
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值