aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Shields <mshields@google.com>2018-09-18 19:32:50 -0700
committerMichael Shields <mshields@google.com>2018-09-18 19:32:50 -0700
commit5f2fcc3f6c5eba06ed667103820244a2f6c06043 (patch)
tree327303a8fdade08c39173585dc39cb6b6a052777
parenta6e1cc7e328c45a0cb9856c530c8f6cd23314163 (diff)
downloadprotobuf-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.proto24
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
//