MCPcopy Create free account
hub / github.com/comaps/comaps / YYMMDDToSecondsSinceEpoch

Function YYMMDDToSecondsSinceEpoch

libs/base/timer.cpp:53–76  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

51}
52
53uint64_t YYMMDDToSecondsSinceEpoch(uint32_t yymmdd)
54{
55 auto constexpr partsCount = 3;
56 // From left to right YY MM DD.
57 std::array<int, partsCount> parts{}; // Initialize with zeros.
58 for (auto i = partsCount - 1; i >= 0; --i)
59 {
60 parts[i] = yymmdd % 100;
61 yymmdd /= 100;
62 }
63 ASSERT_EQUAL(yymmdd, 0, ("Version is too big."));
64
65 ASSERT_GREATER_OR_EQUAL(parts[1], 1, ("Month should be in range [1, 12]"));
66 ASSERT_LESS_OR_EQUAL(parts[1], 12, ("Month should be in range [1, 12]"));
67 ASSERT_GREATER_OR_EQUAL(parts[2], 1, ("Day should be in range [1, 31]"));
68 ASSERT_LESS_OR_EQUAL(parts[2], 31, ("Day should be in range [1, 31]"));
69
70 std::tm tm{};
71 tm.tm_year = parts[0] + 100;
72 tm.tm_mon = parts[1] - 1;
73 tm.tm_mday = parts[2];
74
75 return TimeTToSecondsSinceEpoch(TimeGM(tm));
76}
77
78uint64_t SecondsSinceEpoch()
79{

Callers 2

FinishMethod · 0.85
IsAllowedToEditFileMethod · 0.85

Calls 2

TimeTToSecondsSinceEpochFunction · 0.85
TimeGMFunction · 0.85

Tested by 1

FinishMethod · 0.68