gpt4 book ai didi

go - 如何将字符串转换为google.protobuf.Timestamp?

转载 作者:行者123 更新时间:2023-12-01 22:10:32 53 4
gpt4 key购买 nike

我有一个Go字符串x := "2020-09-01T21:46:43Z"这是我的Protobuf3:

message MyMessage {
google.protobuf.Timestamp mytimestamp = 1;
}
如何将该字符串 x转换为 google.protobuf.Timestamp

最佳答案

使用具有帮助程序的protobuf类型转换的ptypes软件包。
有两个功能可以帮助您:

ptypes.Timestamp:将Timestamp转换为time.Time:

func Timestamp(ts *timestamppb.Timestamp) (time.Time, error)

ptypes.TimestampProto:将 time.Time转换为 Timestamp:
func TimestampProto(t time.Time) (*timestamppb.Timestamp, error)

请注意,两者都处理 time.Time(标准库中的时间类型)。您首先需要使用 time.Parse将字符串解析为 time.Time

放在一起,我们有:
package main

import (
"fmt"
"time"

"github.com/golang/protobuf/ptypes"
)

func main() {

t, err := time.Parse(time.RFC3339, "2020-09-01T21:46:43Z")
if err != nil {
panic(err)
}

pb, err := ptypes.TimestampProto(t)
if err != nil {
panic(err)
}

fmt.Println(pb)
}

关于go - 如何将字符串转换为google.protobuf.Timestamp?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64044242/

53 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com