MCPcopy Create free account
hub / github.com/BlazingDB/blazingsql / date_to_ymd

Function date_to_ymd

engine/src/io/data_parser/sql/PostgreSQLParser.cpp:34–54  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

32}
33
34static inline void date_to_ymd(std::int32_t jd,
35 std::int32_t & year,
36 std::int32_t & month,
37 std::int32_t & day) {
38 std::uint32_t julian, quad, extra;
39 std::int32_t y;
40 julian = static_cast<std::uint32_t>(jd);
41 julian += 32044;
42 quad = julian / 146097;
43 extra = (julian - quad * 146097) * 4 + 3;
44 julian += 60 + quad * 3 + extra / 146097;
45 quad = julian / 1461;
46 julian -= quad * 1461;
47 y = julian * 4 / 1461;
48 julian = ((y != 0) ? (julian + 305) % 365 : (julian + 306) % 366) + 123;
49 y += quad * 4;
50 year = y - 4800;
51 quad = julian * 2141 / 65536;
52 day = julian - 7834 * quad / 256;
53 month = (quad + 10) % 12 + 1;
54}
55
56static inline void time_to_hms(std::int64_t jd,
57 std::int32_t & hour,

Callers 2

timestamp_to_tmFunction · 0.85
date_to_stringFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected