Go - 获取当前时间(转载)

package main

import (
	"fmt"
	"time"
)

func main() {

	t := time.Now() //2019-07-31 13:55:21.3410012 +0800 CST m=+0.006015601
	fmt.Println(t.Format("20060102150405"))

	//当前时间戳
	t1 := time.Now().Unix() //1564552562
	fmt.Println(t1)
	//时间戳转化为具体时间
	fmt.Println(time.Unix(t1, 0).String())

	fmt.Println("DateYmdFormatZeroClock()", DateYmdFormatZeroClock())
	fmt.Println("DateYmdFormatZeroClockBefore()", DateYmdFormatZeroClockBefore(1))
	fmt.Println("DateYmdFormatZeroClockAfter()", DateYmdFormatZeroClockAfter(1))

	fmt.Println("YmdFromatDate", YmdFromatDate(DateYmdFormatZeroClock()))
	fmt.Println("DateZeroClock", DateZeroClock())

	//基本格式化的时间表示
	fmt.Println(time.Now().String()) //2019-07-31 13:56:35.7766729 +0800 CST m=+0.005042501

	fmt.Println(time.Now().Format("2006-01-02"))          //2019-07-31
	fmt.Println(time.Now().Format("2006-01-02 15:04:05")) //2019-07-31 13:57:52

	//获取第几周
	_, week := time.Now().ISOWeek()

	fmt.Println(week)
	//获取年、月、日
	year, month, day := DateYmdInts()
	fmt.Println(year, month, day)
}

// 时间戳转年月日 时分秒
func DateFormat(timestamp int) string {
	tm := time.Unix(int64(timestamp), 0)
	return tm.Format("2006-01-02 15:04")
}

//时间戳转年月日
func DateFormatYmd(timestamp int) string {
	tm := time.Unix(int64(timestamp), 0)
	return tm.Format("2006-01-02")
}

//年月日转时间戳
func YmdFromatDate(tm string) int64 {
	tt, _ := time.ParseInLocation("2006-01-02 15:04:05", tm, time.Local)
	return tt.Unix()
}

//获取当前年月
func DateYmFormat() string {
	tm := time.Now()
	return tm.Format("2006-01")
}

// 获取当天0点时间
func DateYmdFormatZeroClock() string {
	tm := time.Now()
	tmNow := time.Date(tm.Year(), tm.Month(), tm.Day(), 0, 0, 0, 0, tm.Location())
	return tmNow.AddDate(0, 0, 0).Format("2006-01-02 15:04:05")

}

// 获取前N天0点时间
func DateYmdFormatZeroClockBefore(n int) string {
	tm := time.Now()
	tmNow := time.Date(tm.Year(), tm.Month(), tm.Day(), 0, 0, 0, 0, tm.Location())
	tmBefore := tmNow.AddDate(0, 0, n)
	return tmBefore.Format("2006-01-02 15:04:05")
}

// 获取后N天0点时间
func DateYmdFormatZeroClockAfter(n int) string {
	tm := time.Now()
	tmNow := time.Date(tm.Year(), tm.Month(), tm.Day(), 0, 0, 0, 0, tm.Location())
	tmBefore := tmNow.AddDate(0, 0, 0-n)
	return tmBefore.Format("2006-01-02 15:04:05")
}

// 获取当天0点时间戳
func DateZeroClock() int64 {
	return (YmdFromatDate(DateYmdFormatZeroClock()))
}

//获取年月日时分秒(字符串类型)
func DateNowFormatStr() string {
	tm := time.Now()
	return tm.Format("2006-01-02 15:04:05")
}

//时间戳
func DateUnix() int {
	t := time.Now().Local().Unix()
	return int(t)
}

//获取年月日时分秒(time类型)
func DateNowFormat() time.Time {
	tm := time.Now()
	return tm
}

//获取第几周
func DateWeek() int {
	_, week := time.Now().ISOWeek()
	return week
}

//获取年、月、日
func DateYMD() (int, int, int) {
	year, month, day := DateYmdInts()
	return year, month, day
}

// 获取年月日
func DateYmdFormat() string {
	tm := time.Now()
	return tm.Format("2006-01-02")
}

// 获取日期的年月日
func DateYmdInts() (int, int, int) {
	timeNow := time.Now()
	year, month, day := timeNow.Date()
	return year, int(month), day
}


原文地址 https://www.jianshu.com/p/8ac396850a3d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值