添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

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

golang 时间转换工具 将ISO 8601时间转为当地时间戳(13位 单位毫秒)获得了一个字符串的时间,而且是ISO 8601规范的时间格式,现转为当地(例如中国北京的时间戳)工具代码如下:/** remark:时间转换工具 将ISO 8601时间转为当地时间戳(13位 毫秒) author:曾冠男 */func transformTimestrToTimestamp(timestr string)int64{ //2006-01-02 15:04:05 是golang的时间模板,据说是
用于Go的快速ISO8601日期解析器 go get github.com/relvacode/iso8601 Go中内置的RFC3333时间布局过于严格,无法支持任何ISO8601日期时间。 该库将任何ISO8601日期解析为不带正则表达式的本机Go时间对象。 import "github.com/relvacode/iso8601" // iso8601.Time can be used as a drop-in replacement for time.Time with JSON responses type ExternalAPIResponse struct { time.Now().Unix() //时间戳(秒) time.Now().UnixNano() //时间戳(纳秒) time.Now().UnixNano() / 1e6 //时间戳毫秒time.Now().UnixNano() / 1e9 //时间戳(纳秒转换为秒) 注:1秒 = 1000毫秒 1毫秒 = 1000微秒 1微秒 = 1000纳秒 1e6是指数表达形式:1* 10的6次方 时间格式化 nowtime:=time.Now().Forma...
func main(){ //日期格式化为字符串 t := time.Now().Format("2006-01-02 15:04:05") fmt.Println(t, reflect.TypeOf(t)) //2018-12-21 14:17:04 string t = time.Now().Format(" fmt.Println("秒 :", time.Now().Unix()) fmt.Println("纳秒 :", time.Now().UnixNano()) fmt.Println("毫秒 :", time.Now().UnixNano()/1e6) fmt.Println("毫秒值 :", (time.Now().UnixNano()/1e6)-(time.Now().Unix()*1000)) 时间戳(秒):1628337854; 时间戳(纳秒):16283. func ConverTime(iso8601 string) string { //这个必须加UTC参数,不加本地测试和服务器上不一致 t, err := time.ParseInLocation(time.RFC3339, iso8601, time.UTC) if err != nil { return iso8601 //设置东八区 cz := time.FixedZone("CST", 8*3600) return t.In(cz).Format("2006-01-02
时间戳时间戳是使用数字签名技术产生的数据,签名的对象包括了原始文件信息、签名参数、签名时间等信息。时间戳系统用来产生和管理时间戳,对签名对象进行数字签名产生时间戳,以证明原始文件在签名时间之前已经存在。 mysql类型timestamp(时间戳)和datetime(时间)差别: timestamp占用4个字节; datetime占用8个字节; timestamp范围1970-01-01 00:00:01.000000 到 2038-01-19 03:14:07.999999; datetime是..
java中ISO8601标准时间格式转换 最近对接第三方平台接口,返回的日期是ISO8601标准时间(yyyy-MM-dd’T’HH:mm:ss.SSS’Z’),例: "beginTime": "2018-08-07T14:44:04.923+08:00", "endTime": "2018-08-07T14:54:18.183+08:00" 我这边需要用String格式(yyyy-MM-dd HH:mm:ss)来接收,试了很多方法,有些不能用,还有些不好用,最终选择的转换的方式如下: 先引入jar包:
js得到的时间戳和go得到的时间戳是不一样的,js得到的是以毫秒单位的,而go得到的是以秒或纳秒为单位时间戳。 var timestamp = new Date().getTime() console.log(timestamp) //1565084135229 毫秒 now:= time.Now() fmt.Println(now.Unix()) // 156...... 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/u012978258/article/details/80822608 菜鸟的时候只知道时间戳有1013、还有好长数的。 入坑久了才明白 10数的时间戳是以 秒 为... layout := "2006-01-02 15:04:05" // 将时间格式转换时间对象 t, err := time.Parse(layout, timeStr) if err != nil { fmt.Println(err) return // 将时间对象转换时间戳 timestamp := t.Unix() fmt.Println(timestamp) 在上述代码中,我们先定义了需要转换时间格式和对应的时间格式layout,在使用time.Parse()函数将时间格式转换时间对象t,然后使用t.Unix()函数将时间对象转换时间戳。 Java报错Failed to convert property value of type ‘java.lang.String‘ to required type ‘java.util.Date 81779 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener配置应用程序监听器错误 14465