UnixTime на m4

Опубликовано в M4

Расчет количества секунд, прошедших с 1 января 1970 года в виде макроса m4. Расчет идет для зоны UTC+0, то есть без учета часового пояса


dnl m4_datetime(year,month,day,hour,min,sec)
define(`m4_datetime',`dnl
pushdef(`z', eval((14-$2)/12))dnl
pushdef(`y', eval($1-z))dnl
eval((y*365+y/4-y/100+y/400+(153*($2+12*z-3)+2)/5+$3-719469)*86400+$4*3600+$5*60+$6)dnl
popdef(`y')dnl
popdef(`z')')dnl
--
m4_datetime(2024,1,6,1,18,6)
--

Библиотека