31 return std::chrono::duration<double>(std::chrono::steady_clock::now().
time_since_epoch()).count();
37 return std::chrono::duration_cast<std::chrono::milliseconds>(
59 static constexpr int64_t SecondsPerMinute = 60;
60 static constexpr int64_t SecondsPerHour = 3600;
61 static constexpr int64_t SecondsPerDay = 86400;
62 static constexpr int64_t SecondsPerWeek = 604800;
static std::string FormatDurationLabel(int64_t seconds, const DurationUnitLabels &units)
static int64_t ParseDuration(const std::string &duration)
static bool IsExpired(int64_t expiresAt)
static std::string FormatDuration(int64_t seconds)
static std::string FormatExpiry(int64_t expiresAt, int64_t nowSec, std::string_view permanentText, std::string_view expiresInPrefix)
static int64_t GetExpirationTime(int64_t durationSeconds)
static std::string FormatTimestamp(int64_t timestamp)
static int64_t MonotonicMs()
static double MonotonicSeconds()
static std::string ReadFile(const std::filesystem::path &path)