/** DES:日期时间格式转unix时间戳 和 unix时间戳转日期时间格式*/package mainimport ("fmt""time" )func main() {// 1.获取当前日期时间date_now := GetDateNow()fmt.Println("当前日期时间:", date_now)// 2.当前日期时间转换为10位时间戳unix_date := DateAndUnix(date_now)fmt.Println("日期时间格式", date_now, "转为unix时间戳是:", unix_date)// 3.10位unix时间戳转日期时间格式unix_time := time.Now().Unix() // 取当前日期时间戳logindate := UnixAndDate(unix_time) // 当前日期unix时间戳转日期时间格式fmt.Println("unix时间戳:", unix_time, "转换为日期格式是:", logindate)}/** 获取系统当前日期时间* 返回东八区日期时间格式 : 2001-05-26 14:51:07*/ func GetDateNow() string {/*go语言并没有全局设置时区这么一个东西,每次输出时间都需要调用一个In()函数改变时区:var location, _ = time.LoadLocation("Asia/Shanghai") //上海DateNow := time.Now().In(location).Format("2006-01-02 15:04:05")在windows系统上,没有安装go语言环境的情况下,time.LoadLocation会加载失败。最好的办法是用time.FixedZone*/var location = time.FixedZone("CST", 8*3600) // 设置时区为东八区timeLayout := "2006-01-02 15:04:05" // go语言固定日期模版DateNow := time.Now().In(location).Format(timeLayout)return string(DateNow) }/** Unix时间戳转为日期时间* prarms: 传入10位数的unix_time时间戳* 返回东八区日期时间格式: 2021-05-26 14:51:07*/ func UnixAndDate(unix_date int64) string {var location = time.FixedZone("CST", 8*3600) // 设置时区为东八区timeLayout := "2006-01-02 15:04:05" // go语言固定日期模版tm := time.Unix(unix_date, 0).In(location).Format(timeLayout)return string(tm) }/** 日期时间转换为时间戳* date: 传入日期时间格式的数据* 返回10位数的unix时间戳: 1622012890*/ func DateAndUnix(date string) int64 {timeLayout := "2006-01-02 15:04:05" // go语言固定日期模版times, _ := time.Parse(timeLayout, date)timeUnix := times.Unix()return timeUnix }