```
milovidov-desktop :) SELECT toString(toDateTime('-922337203.6854775808', 1))

SELECT toString(toDateTime('-922337203.6854775808', 1))

Query id: 3d51ba80-4993-4f64-b6ef-da0c0f1bdf43

┌─toString(toDateTime('-922337203.6854775808', 1))─┐
│ 2106-02-07 :rE:�.6                                │
└──────────────────────────────────────────────────┘
```
{
        DayNum index = findIndex(t);
        if (unlikely(index == 0))
            return t + offset_at_start_of_epoch;
        time_t res = t - lut[index].date;
        if (res >= lut[index].time_at_offset_change)
            res += lut[index].amount_of_offset_change;
        return res - offset_at_start_of_epoch; 
    }
    inline unsigned toHour(time_t t) const
    {
        DayNum index = findIndex(t);
        
        
        if (unlikely(index == 0))
            return static_cast<unsigned>((t + offset_at_start_of_epoch) / 3600) % 24;
        time_t res = t - lut[index].date;
        
        if (res >= lut[index].time_at_offset_change)
            res += lut[index].amount_of_offset_change;
        return res / 3600;
    }
    /** Calculating offset from UTC in seconds.
     * which means Using the same literal time of "t" to get the corresponding timestamp in UTC,
     * then subtract the former from the latter to get the offset result.
     * The boundaries when meets DST(daylight saving time) change should be handled very carefully.
     */
    inline time_t timezoneOffset(time_t t) const