一、需知
- 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
}
三、运行截图
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210109165924427.png#pic_left)
四、其他