草庐IT

$时间序列

全部标签

go - 使用 google.protobuf.Timestamp 在 Go 中解析具有时区偏移的日期时间戳

我正在创建一个将使用GRPC和protobuf的Go应用程序。我的RPC服务应接收包含google.protobuf.Timestamp类型的消息,对其进行解析并最终将其保存在数据库中或对其执行更多操作。对于google.protobuf.Timestamp类型的有效输入,我感到很困惑。我希望对带有时区偏移量的日期时间戳使用以下格式。2019-02-15T13:00:00+01:00这是我正在使用的原型(prototype)文件。syntax="proto3"packageexample;import"google/protobuf/timestamp.proto"serviceTes

json - 如何在 JSON 序列化中添加括号?

我正在尝试向API端点发送发布请求。如果JSON数据中没有括号,端点将无法工作。map1:=map[string]map[string]interface{}{}map2:=map[string]interface{}{}map2["firstObject"]="value1"map2["secondObject"]="value2"map1["jsonName"]=map2b,err:=json.Marshal(map1)iferr!=nil{panic(err)}fmt.Println(string(b))//outputs:{"jsonName":{"firstObject":"

go - 如何在go中添加时区以秒为单位获取时间

我正在使用time.Timeingo。以秒为单位获取时间(自1970年1月1日以来经过的秒数)我正在使用now:=Time.now()loc,err:=time.LoadLocation(country.Timezone)//timezoneinAsia/Dhakanow=now.In(loc)然后,seconds:=now.Unix()但秒数给出的秒数不加时区秒数。它实际上给出了UTC的秒数。我的问题是,如何在增加6小时后获得秒数(亚洲/达卡时区为UTC+6)? 最佳答案 如果你想要当前时钟时间的第二部分只使用下面的代码:loc:

go - 有没有更简单的方法来使用 FlatBuffers 序列化 [][]byte?

我希望使用FlatBuffers序列化[][]byte消息。鉴于不能嵌套FBS向量,这似乎是要走的路:namespacemsgfbs;tableSubmitMessage{nonces:[Nonce];}tableNonce{bytes:[ubyte];}现在为了编写这个结构,我最终编写了这个函数:funcNewSubmitMessage(builder*fbs.Builder,nonces[][]byte)[]byte{builder.Reset()nonceCount:=len(nonces)//ConvertnoncestobytevectorsbyteVectors:=make

go - 重置时间。mgo 结构中的时间

简化结构:typeUserstruct{ResetTokenstring`bson:"resettoken,omitempty"json:"resettoken"`ResetSenttime.Time`bson:"resetsent,omitempty"json:"resetsent"`}现在成功(密码)重置它应该设置ResetToken=""和将ResetSent设置为“未初始化”,也就是0或初始值或空,随你便。在字符串的情况下,它是用""和",omitempty"完成的但是我该如何处理time.Time? 最佳答案 零时间是ti

go - 将时间字符串类型解析回时间类型错误

packagemainimport"fmt"import"time"funcmain(){source:="2014-04-2223:41:12.518845115+0800CST"Form:="2014-04-2223:41:12.518845115+0800CST"t,err:=time.Parse(Form,source)iferr==nil{fmt.Println(t.String())}else{fmt.Println(err)}}错误:解析时间“2014-04-2223:41:12+0800CST”:月份超出范围我通过time.Now().String()获得了source

去时间包常量而不是数字

是否可以在Formatfunc中使用常量而不是数字time.Unix(1392899576,0).Format(stdLongYear+"/"+stdZeroMonth+"/"+stdZeroDay)代替time.Unix(1392899576,0).Format("2006/01/02") 最佳答案 不,你不能。这些常量以小写字母开头,因此不会被导出。模仿该包的唯一方法是复制它或在您自己的包中重新创建常量,如下所示:packagemainimport("fmt""time")const(stdLongYear="2006"stdZ

templates - 通过时间范围到按年份 pretty-print

目前我正在使用https://play.golang.org/p/P1-sAo5Qy8像这样打印存档日期:2009年11月10日»Somethinghappenedin20092005年11月10日»Somethinghappened10yearsago2009年6月10日»Summerof2009虽然我认为按年份打印更好:20092009年11月10日»Somethinghappenedin20092009年6月10日»Summerof200920052005年11月10日»Somethinghappened10yearsago我如何在PostsPostDate上长期反向排列,以打印

xml - 如何在 Go 中将自定义格式化时间序列化到 xml 或从 xml 序列化?

在将日期时间序列化为xml或从xml序列化时,如何使其使用自定义时间格式? 最佳答案 就像您实现json.Marshaler和json.Unmarshaler以使用JSON执行此操作一样(在StackOverflow和互联网上有很多关于此的帖子);一种方法是实现实现encoding.TextMarshaler的自定义时间类型和encoding.TextUnmarshaler.编码项目时,encoding/xml使用这些接口(interface)(首先检查更具体的xml.Marshaler或xml.Unmarshaler接口(inte

go - 如何找到 Timer 触发的剩余时间?

我需要在x秒后运行一个函数,并具有一定的控制能力(重置计时器、停止计时器、查找剩余执行时间)。time.Timer非常适合-唯一缺少的是它似乎无法提供查找剩余时间的方法。我有哪些选择?此刻,我在想这样的事情:packagemainimport"time"typeSecondsTimerstruct{Ttime.DurationCchantime.Timecontrolchantime.Durationrunningbool}func(s*SecondsTimer)run(){fors.T.Seconds()>0{time.Sleep(time.Second)select{casef:=