PHP日期函数错误

Cha*_*h M 3 php

我需要在未来30年以上,这就是为什么我使用下面的代码.

$currentDate = date("Y-m-d"); 
$dateOneYearAdded = strtotime(date("Y-m-d", strtotime($currentDate)) . " +30 year");
$endYr = date('Y', $dateOneYearAdded);
Run Code Online (Sandbox Code Playgroud)

但是,当我测试这段代码时,它只工作了26年.我今年只能增加26年.如果我尝试添加超过26,那么它将恢复到1970年.

下面的代码工作正常:

$currentDate = date("Y-m-d"); 
$dateOneYearAdded = strtotime(date("Y-m-d", strtotime($currentDate)) . " +26 year");
$endYr = date('Y', $dateOneYearAdded);
Run Code Online (Sandbox Code Playgroud)

我的代码有问题还是PHP函数中的错误?

dec*_*eze 5

恭喜,您遇到了Y2K38问题.您将需要切换到64位系统,或使用DateTime类,它可以表示(几乎)任意日期.