golang日期字符串的互转

golang日期字符串的互转,第1张

绝不BB 上代码 包含时区转换
package main

import (
	"fmt"
	"time"
)

func main() {
	// 日期转字符串
	currentTime := time.Now()
	fmt.Println("Current Time in String: ", currentTime.String())
	fmt.Println("MM-DD-YYYY : ", currentTime.Format("01-02-2006"))
	fmt.Println("YYYY-MM-DD : ", currentTime.Format("2006-01-02"))
	fmt.Println("YYYY.MM.DD : ", currentTime.Format("2006.01.02 15:04:05"))
	// 字符串转日期
	tm2, _ := time.Parse("01/02/2006", "04/29/2021")
	fmt.Println(tm2.Format("2006-01-02"))

    // ----------------有关时区的问题-----------------
    toBeCharge := "2021-04-28T00:00:00+08:00"                             //待转化为时间戳的字符串 注意 这里的小时和分钟还要秒必须写 因为是跟着模板走的 修改模板的话也可以不写
	timeLayout := "2006-01-02T00:00:00+08:00"                             //转化所需模板
	loc, _ := time.LoadLocation("Local")                            //重要:获取时区
	theTime, _ := time.ParseInLocation(timeLayout, toBeCharge, loc) //使用模板在对应时区转化为time.time类型
	sr := theTime.Unix()                                            //转化为时间戳 类型是int64
	fmt.Println(theTime)                                            //打印输出theTime 2015-01-01 15:15:00 +0800 CST
	fmt.Println(sr)                                                 //打印输出时间戳 1420041600

	//时间戳转日期
	dataTimeStr := time.Unix(sr, 0).Format("2006-01-02") //设置时间戳 使用模板格式化为日期字符串
	fmt.Println(dataTimeStr)
}

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/995830.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存