我有一个时间。Golang 10-30 00:49:07.1236中的时间变量需要转换为Go Protobuf timestamp.Timestamp。有什么想法可以用来实现这一点?还是我看问题的Angular 不对
10-30 00:49:07.1236
idfiyjo81#
参见timestamppb中的New和Timestamp.AsTime支持time.Time和Timestamp之间的转换
timestamppb
New
Timestamp.AsTime
time.Time
Timestamp
vcudknz32#
下面的代码将给予转换时间。时间到protobuf timestamppb格式
import "google.golang.org/protobuf/types/known/timestamppb" timeNow := time.Now() timestamp := timestamppb.Timestamp{ Seconds: timeNow.Unix(), Nanos: int32(timeNow.Nanosecond()), } fmt.Printf("as timestamp %+v\n", timestamp) fmt.Printf("as time.Time %+v\n", timestamp.AsTime().Local())
输出如下所示:
as timestamp {state:{NoUnkeyedLiterals:{} DoNotCompare:[] DoNotCopy:[] atomicMessageInfo:<nil>} sizeCache:0 unknownFields:[] Seconds:1694773177 Nanos:777135000} as time.Time 2023-09-15 15:49:37.777135 +0530 IST
2条答案
按热度按时间idfiyjo81#
参见
timestamppb
中的New
和Timestamp.AsTime
支持
time.Time
和Timestamp
之间的转换vcudknz32#
下面的代码将给予转换时间。时间到protobuf timestamppb格式
输出如下所示: