The `timegm()` function performs the inverse operation of `gmtime()` by taking a broken-down date and time dictionary and transforming it into an epoch value, assuming UTC time. -- Testcase -- {% // check expected epoch let d1 = { "sec": 42, "min": 51, "hour": 13, "mday": 22, "mon": 3, "year": 2022, "wday": 2, "yday": 81, "isdst": 0 }; // check that out of range values are normalized let d2 = { "sec": 33, "min": 22, "hour": 11, "mday": 40, "mon": 10, "year": 2022, "wday": 2, "yday": 81, "isdst": 0 }; // check that everything except mday, mon, year is optional let d3 = { "mday": 1, "mon": 1, "year": 2000 }; printf("%.J\n", [ timegm(d1), timegm(d2), timegm(d3) ]); %} -- End -- -- Expect stdout -- [ 1647957102, 1667992953, 946684800 ] -- End --