golang 时间转换工具 将ISO 8601时间转为当地时间戳(13位 单位毫秒)
获得了一个字符串的时间,而且是ISO 8601规范的时间格式,现转为当地(例如中国北京的时间戳)
工具代码如下:
/**
remark:时间转换工具 将ISO 8601时间转为当地时间戳(13位 毫秒)
author:曾冠男
*/
func transformTimestrToTimestamp(timestr string)int64{
//2006-01-02 15:04:05 是golang的时间模板,据说是golang语言的诞生时间,2006-01-02 15:04:05类似于我们熟悉的YYYY-MM-dd HH:mm:ss
result, err := time.ParseInLocation("2006-01-02T15:04:05+0800", timestr,time.Local)
//如果错误则退出
if(err != nil){
fmt.Println(err)
return -1
}
//转为13位时间戳 乘以1000是因为原来是秒单位,乘以之后则是13位毫秒时间戳单位
return result.Unix()*1000
}
可以参考如下例子:
package main
import (
"fmt"
"time"
)
func main() {
resultTime := "2021-05-10T17:49:51+0800"
timestamp := transformTimestrToTimestamp(resultTime)
fmt.Println(timestamp)
}
/**
remark:时间转换工具 将ISO 8601时间转为当地时间戳(13位 毫秒)
author:曾冠男
*/
func transformTimestrToTimestamp(timestr string)int64{
//2006-01-02 15:04:05 是golang的时间模板,据说是golang语言的诞生时间,2006-01-02 15:04:05类似于我们熟悉的YYYY-MM-dd HH:mm:ss
result, err := time.ParseInLocation("2006-01-02T15:04:05+0800", timestr,time.Local)
//如果错误则退出
if(err != nil){
fmt.Println(err)
return -1
}
//转为13位时间戳 乘以1000是因为原来是秒单位,乘以之后则是13位毫秒时间戳单位
return result.Unix()*1000
}
输出结果为:
1620640191000
OK!问题解决!不会的给我私信!
觉得有帮助的可以关注一波!经常分享编程踩坑经验!