diff options
author | Michael Shields <mshields@google.com> | 2018-09-18 19:32:50 -0700 |
---|---|---|
committer | Michael Shields <mshields@google.com> | 2018-09-18 19:32:50 -0700 |
commit | 5f2fcc3f6c5eba06ed667103820244a2f6c06043 (patch) | |
tree | 327303a8fdade08c39173585dc39cb6b6a052777 | |
parent | a6e1cc7e328c45a0cb9856c530c8f6cd23314163 (diff) | |
download | protobuf-5f2fcc3f6c5eba06ed667103820244a2f6c06043.tar.gz protobuf-5f2fcc3f6c5eba06ed667103820244a2f6c06043.tar.bz2 protobuf-5f2fcc3f6c5eba06ed667103820244a2f6c06043.zip |
Update comments to discuss leap smearing in detail.
Fixes #1890.
-rw-r--r-- | src/google/protobuf/timestamp.proto | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/src/google/protobuf/timestamp.proto b/src/google/protobuf/timestamp.proto index 3faa3ab7..05d988a4 100644 --- a/src/google/protobuf/timestamp.proto +++ b/src/google/protobuf/timestamp.proto @@ -40,17 +40,19 @@ option java_outer_classname = "TimestampProto"; option java_multiple_files = true; option objc_class_prefix = "GPB"; -// A Timestamp represents a point in time independent of any time zone -// or calendar, represented as seconds and fractions of seconds at -// nanosecond resolution in UTC Epoch time. It is encoded using the -// Proleptic Gregorian Calendar which extends the Gregorian calendar -// backwards to year one. It is encoded assuming all minutes are 60 -// seconds long, i.e. leap seconds are "smeared" so that no leap second -// table is needed for interpretation. Range is from -// 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. -// By restricting to that range, we ensure that we can convert to -// and from RFC 3339 date strings. -// See [https://www.ietf.org/rfc/rfc3339.txt](https://www.ietf.org/rfc/rfc3339.txt). +// A Timestamp represents a point in time independent of any time zone or local +// calendar, encoded as a count of seconds and fractions of seconds at +// nanosecond resolution. The count is relative to an epoch at UTC midnight on +// January 1, 1970, in the proleptic Gregorian calendar which extends the +// Gregorian calendar backwards to year one. +// +// All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap +// second table is needed for interpretation, using a [24-hour linear +// smear](https://developers.google.com/time/smear). +// +// The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By +// restricting to that range, we ensure that we can convert to and from [RFC +// 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. // // # Examples // |