A representation of the Spanner TIMESTAMP type: An instant in time.
A Timestamp represents an absolute point in time (i.e., is independent of any time zone), with at least nanosecond precision, and with a range of 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z, inclusive.
The MakeTimestamp(src) factory function(s) should be used to construct Timestamp values from standard representations of absolute time.
A Timestamp can be converted back to a standard representation using ts.get<T>().
See Also
https://cloud.google.com/spanner/docs/data-types#timestamp_type
Constructors
Timestamp(Timestamp &&)
Regular value type, supporting copy, assign, move.
| Parameter | |
|---|---|
| Name | Description |
|
Timestamp &&
|
Timestamp(Timestamp const &)
Regular value type, supporting copy, assign, move.
| Parameter | |
|---|---|
| Name | Description |
|
Timestamp const &
|
Timestamp()
Default construction yields 1970-01-01T00:00:00Z.
Operators
operator=(Timestamp &&)
Regular value type, supporting copy, assign, move.
| Parameter | |
|---|---|
| Name | Description |
|
Timestamp &&
|
| Returns | |
|---|---|
| Type | Description |
Timestamp & |
|
operator=(Timestamp const &)
Regular value type, supporting copy, assign, move.
| Parameter | |
|---|---|
| Name | Description |
|
Timestamp const &
|
| Returns | |
|---|---|
| Type | Description |
Timestamp & |
|
Functions
get() const
Convert the Timestamp to the user-specified template type.
Fails if *this cannot be represented as a T.
Supported destination types are:
absl::Time- Sinceabsl::Timecan represent all possibleTimestampvalues,get<absl::Time>()never returns an error.google::protobuf::Timestamp- Never returns an error, but any sub-nanosecond precision will be lost.google::cloud::spanner::sys_time<Duration>-Duration::repmay not be wider thanstd::int64_t, andDuration::periodmay be no more precise thanstd::nano.
Example
sys_time<std::chrono::nanoseconds> tp = ...;
Timestamp ts = MakeTimestamp(tp).value();
assert(tp == ts.get<sys_time<std::chrono::nanoseconds>>().value());
| Parameter | |
|---|---|
| Name | Description |
typename T |
|
| Returns | |
|---|---|
| Type | Description |
StatusOr< T > |
|