Решил сделать таки способом, когда проверил, то слегка не совпадает, где косяк? PHP: $proverka = '2043-03-23'; echo 'Дата ' . $proverka . '<br>'; $lastYear = substr($proverka, 0, 4); if($lastYear < '2038') { echo 'В формате timestamp ' . strtotime($proverka); } elseif($lastYear >= '2038') { $year37 = strtotime('2037-01-01'); $dif = (int)$lastYear - 2037; $pribavka = 1970+$dif.'-01-01'; $ostatok = strtotime($pribavka); $res = $year37+$ostatok; echo 'В формате timestamp ' . $res; echo '<br>'; echo 'В формате timestamp ' . (strtotime('2037-03-23') + (strtotime('1971-01-01') * 6));
Это слишком самонадеяно, считать, что сайты, которые мы кропаем в 2017, будут в том же виде нужны кому-то после 2038, поэтому я как-то не задумываюсь об этой проблеме
PHP: $pribavka = 1970+$dif.'-01-01'; тут ошибку не выдает ? при сложении любого рода нужно заключать в скобочки, если конечно не ошибаюсь. Вообще надеюсь что когда нибудь пустословные ученые оправдаются и метеорит долбанет по рашке такой силой, что задумываться про 2038 год не имеет смысла.
Даже если вдруг даже до 2050 сайт доживет, скажем долгий контракт бизнес итд. Это не отменяет того что ты его 2050 раз перепишешь. Так как выход php 7 чего только стоил. Или отказ от mysql к mysqli/pdo
И в первый же день найдется человек который будет думать о пару тысячилетий наперед.. Стоп какой человек, они еще что то делают >
Астероид подойдёт? Тогда можно создать "Церковь Святого Апофиса", предложить всем прихожанам продать имущество и сдать деньги церкви, лично в руки Пастерю @MouseZver. По крайней мере, ждать 2036 года можно будет веселее где-нибудь на Бали
Никаких костылей не надо, надо использовать класс DateTime https://php.ru/manual/intro.datetime.html @Dimon2x я думаю этого хватит тебе, а если дождешься 128 бит - то диапазон увеличится еще в 18,5 квинтиллионов раз.