在工作中偶然用到了google protobuf,但就对其中的Timestamp如何赋值无从下手。后来搜了网上的教程,自己总结了下。
1. 先假设一个proto文件,有如下内容
message A
{
google.protobuf.Timestamp Time = 1; //数据时间
int32 id; //id标识
}
我们已经对该协议文件进行了编译,并生成了对应的.pb.h和.pb.cc文件。
2.那么我们如何对A中的Time赋值我们当前的时间呢,代码如下:
A a;
google::protobuf::Timestamp tracktime;
tracktime.set_seconds(time(NULL));
tracktime.set_nanos(0);
google::protobuf::Timestamp* ptracktime = a.mutable_time();
*ptracktime = tracktime;