Defined in header `<chrono>` | ||
---|---|---|

class gps_clock; | (since C++20) |

The clock `std::chrono::gps_clock`

is a Clock that represents Global Positioning System (GPS) time. It measures time since 00:00:00, 6 January 1980 UTC.

Leap seconds are not inserted into GPS. Thus, every time a leap second is inserted into UTC, UTC falls another second behind GPS. As of December 2017, UTC is 18 seconds behind GPS, reflecting the 18 leap seconds inserted between 1980 and 2017. Thus, 2018-01-01 00:00:00 UTC is equivalent to 2018-01-01 00:00:18 GPS. GPS is a constant 19 seconds behind TAI.

`gps_clock`

meets the Clock requirements. It does not meet the TrivialClock requirements unless the implementation can guarantee that `now()`

does not throw an exception.

Defined in namespace `std::chrono`
| ||

template<class Duration> using gps_time = std::chrono::time_point<std::chrono::gps_clock, Duration>; | (since C++20) | |

using gps_seconds = gps_time<std::chrono::seconds>; | (since C++20) |

(C++20) | performs stream output on a gps_time (function template) |

(C++20) | parses a gps_time from a stream according to the provided format (function template) |

(C++20) | specialization of `std::formatter` that formats a `gps_time` according to the provided format (class template specialization) |

Member type | Definition |
---|---|

`rep` | signed arithmetic type representing the number of ticks in the clock's duration |

`period` | a `std::ratio` type representing the tick period of the clock, in seconds |

`duration` | `std::chrono::duration<rep, period>` , capable of representing negative durations |

`time_point` | `std::chrono::time_point<std::chrono::gps_clock>` |

constexpr bool is_steady
[static] | `true` if the time between ticks is always constant, i.e. calls to `now()` return values that increase monotonically even in case of some external clock adjustment, otherwise `false` (public static member constant) |

[static] | returns a `std::chrono::time_point` representing the current point in time (public static member function) |

[static] | converts a `gps_time` to `utc_time` (public static member function) |

[static] | converts a `utc_time` to `gps_time` (public static member function) |

© cppreference.com

Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.

https://en.cppreference.com/w/cpp/chrono/gps_clock