一、需知
- layout 日期格式化
2006-01-02 15:04:05
示意图( 以PHP为例
)
语言 | 年 | 月 | 日 | 时 | 分 | 秒 | 分隔符 |
---|
PHP | Y | m | d | H | i | s | 自定义 |
Golang | 2006 | 01 | 02 | 15 | 04 | 05 | 自定义 |
- 即 PHP 中的
Y-m-d H:i:s
等价于 Golang 中的 2006-01-02 15:04:05
二、代码
package main
import (
"fmt"
"time"
)
func main() {
nowUnix := time.Now().Unix()
nowStr := unixToStr(nowUnix, "2006-01-02 15:04:05")
fmt.Printf("1、时间戳转时间:%d => %s \n", nowUnix, nowStr)
nowStr = time.Now().Format("2006/01/02 15:04:05")
nowUnix, err := strToUnix(nowStr, "2006/01/02 15:04:05")
if err != nil {
fmt.Println(err)
}
fmt.Printf("2、时间转时间戳:%s => %d", nowStr, nowUnix)
}
func unixToStr(timeUnix int64, layout string) string {
timeStr := time.Unix(timeUnix, 0).Format(layout)
return timeStr
}
func strToUnix(timeStr, layout string) (int64, error) {
local, err := time.LoadLocation("Asia/Shanghai")
if err != nil {
return 0, err
}
tt, err := time.ParseInLocation(layout, timeStr, local)
if err != nil {
return 0, err
}
timeUnix := tt.Unix()
return timeUnix, nil
}
三、运行截图
四、其他