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.
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.
Static
Readonly
fieldsStatic
Readonly
runtimeStatic
Readonly
typeCreate a deep copy.
Compare with a message of the same type. Note that this function disregards extensions and unknown fields.
Parse from binary data, merging fields.
Repeated fields are appended. Map entries are added, overwriting existing keys.
If a message field is already present, it will be merged with the new data.
Optional
options: Partial<BinaryReadOptions>Parse a message from a JSON value.
Optional
options: Partial<JsonReadOptions>Parse a message from a JSON string.
Optional
options: Partial<JsonReadOptions>Retrieve the MessageType of this message - a singleton that represents the protobuf message declaration and provides metadata for reflection- based operations.
Serialize the message to binary data.
Optional
options: Partial<BinaryWriteOptions>Serialize the message to a JSON value, a JavaScript value that can be passed to JSON.stringify().
Optional
options: Partial<JsonWriteOptions>Protected
toJSONOverride for serialization behavior. This will be invoked when calling JSON.stringify on this message (i.e. JSON.stringify(msg)).
Note that this will not serialize google.protobuf.Any with a packed message because the protobuf JSON format specifies that it needs to be unpacked, and this is only possible with a type registry to look up the message type. As a result, attempting to serialize a message with this type will throw an Error.
This method is protected because you should not need to invoke it directly -- instead use JSON.stringify or toJsonString for stringified JSON. Alternatively, if actual JSON is desired, you should use toJson.
Serialize the message to a JSON string.
Optional
options: Partial<JsonWriteStringOptions>Static
equalsStatic
fromOptional
options: Partial<BinaryReadOptions>Static
fromStatic
fromStatic
fromOptional
options: Partial<JsonReadOptions>Static
now
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.
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 date strings.
Examples
Example 1: Compute Timestamp from POSIX
time()
.Example 2: Compute Timestamp from POSIX
gettimeofday()
.Example 3: Compute Timestamp from Win32
GetSystemTimeAsFileTime()
.Example 4: Compute Timestamp from Java
System.currentTimeMillis()
.Example 5: Compute Timestamp from Java
Instant.now()
.Example 6: Compute Timestamp from current time in Python.
JSON Mapping
In JSON format, the Timestamp type is encoded as a string in the RFC 3339 format. That is, the format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" where {year} is always expressed using four digits while {month}, {day}, {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone is required. A proto3 JSON serializer should always use UTC (as indicated by "Z") when printing the Timestamp type and a proto3 JSON parser should be able to accept both UTC and other timezones (as indicated by an offset).
For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past 01:30 UTC on January 15, 2017.
In JavaScript, one can convert a Date object to this format using the standard toISOString() method. In Python, a standard
datetime.datetime
object can be converted to this format usingstrftime
with the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use the Joda Time'sISODateTimeFormat.dateTime()
to obtain a formatter capable of generating timestamps in this format.Generated
from message google.protobuf.Timestamp