As @JayantSeth pointed out, you should use google.protobuf.Timestamp
.
Since Protobuf
forbids to set field to null
, you could use a default value to present null
in your application. There are two fields in message Timestamp
:
message Timestamp {
// Represents seconds of UTC time since Unix epoch
// 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
// 9999-12-31T23:59:59Z inclusive.
int64 seconds = 1;
// Non-negative fractions of a second at nanosecond resolution. Negative
// second values with fractions must still have non-negative nanos values
// that count forward in time. Must be from 0 to 999,999,999
// inclusive.
int32 nanos = 2;
}
The default value of type int64
and int32
both are 0
. Therefore, if some value read from Postgres is null, then you could set it to 0.
Timestamp timestamp;
timestamp.set_seconds(0);
timestamp.set_nanos(0);
And in your application, you could treat timestamp(0)
as null
.
google.protobuf.Timestamp
, please check this link: #3575216 – Tiaratibbetts