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!问题解决!不会的给我私信!
觉得有帮助的可以关注一波!经常分享编程踩坑经验!