我在 Golang
10-30 00:49:07.1236
中有一个 time.Time 变量,需要转换为 Go Protobuf timestamp.Timestamp。知道可以使用哪些函数来完成此任务吗?还是我看问题的角度不对?
下面的代码将给出转换时间。时间到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