Ваш $excel_date_exp
(из которого вычисляется ваш $unix_date_exp
) равен 0.0
(с плавающей запятой), вы передаете его функции, которая ожидает и является целочисленной. У вас есть 2 возможных варианта:
а) установите $excel_date_exp = 0
(int)
b) преобразовать его перед передачей в функцию: $final_expiry_date = gmdate("Y-m-d", (int)$unix_date_exp);
или $final_expiry_date = gmdate("Y-m-d", floor($unix_date_exp));
- поскольку ваши вычисления не добавят десятичных дробей.