golang时间转换工具 将ISO 8601时间转为当地时间戳(13位 单位毫秒)

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值