×î½üÎÞÁÄ£¬¿¼Âǵ½2038ÄêÖ®ºó£¬PHPÈçºÎ»ñÈ¡µ±Ç°Ê±¼äµÄÎÊÌâ¡£
±ÈÈç°ÑµçÄÔʱ¼ä¸Ä³É2050Ä꣬PHPʱ¼äϵͳÂÒÌ×ÁË¡£
±¾ÒÔΪÔÚwindowsϵͳÖУ¬Ö»Ðè°Ñ²Ù×÷ϵͳ¡¢ApacheºÍPHP¶¼»»³É64λµÄ¾ÍÄܽâ¾öÎÊÌ⣬¾¹ý²âÊÔ£¬Æäʵ²»ÊÇ¡£
²»Í¬µÄ²Ù×÷ϵͳºÍ²»Í¬°æ±¾µÄApache¡¢PHP»á³öÏÖ²»Í¬µÄ½á¹û£º
64λwindows2003¡¢32λApache2.2.31¡¢32λPHP5.4.45£¬2038ÄêÖ®ºóPHPµÄdate()ʼÖÕ·µ»Ø1970-01-01 07:59:59£¬²»»á±ä»¯¡£
64λwindows2003¡¢64λApache2.2.34¡¢64λPHP5.4.45£¬ÏµÍ³Ê±¼ä2050Ä꣬PHPµÄdate()·µ»Ø1914Ä꣬ÊDZ仯µÄ£¬time()ÊǸºÊý£¬µ«ÊÇ»áËæ×Åʱ¼ä²»¶Ï¼Ó1¡£PHP_INT_SIZEÊÇ4£¬PHP_INT_MAXÊÇ2147483647¡£date()³¬¹ý2147483647»¹Êdzö´í¡£
64λwindows7¡¢64λApache2.4.41¡¢64λPHP7.2.23£¬ÏµÍ³Ê±¼ä2050Ä꣬PHPµÄdate()·µ»Ø1914Ä꣬ÊDZ仯µÄ£¬time()ÊǸºÊý£¬µ«ÊÇ»áËæ×Åʱ¼ä²»¶Ï¼Ó1¡£PHP_INT_SIZEÊÇ8£¬PHP_INT_MAXÊÇ9223372036854775807¡£date()³¬¹ý2147483647²»»á³ö´í¡£Î¨¶Àtime()»¹ÊǸºÊý£¬»ñȡʱ¼ä»¹Êdzö´í¡£
ËäÈ»ÊǸºÊý£¬µ«Õý³£×ßʱ£¬Õâ¾ÍºÃ°ìÁË¡£ÏÂÃæÊÇÁ½ÕÅÔÀíͼ£º
¹ýÁË47ÃëÖ®ºó£¬ÓÐÈçϹæÂÉ£º
ÕæÊµÊ±¼äc = 47 + ¶à³öµÄÃëÊýb
¶à³öµÄÃëÊýb = 47 + PHPʱ¼äa + 2
ÕûÀíһϣº
ÒòΪc = 47 + b £¬b = 47 + a + 2
ËùÒÔc = 47 + 47 + 2 + a
ÔÝÇÒ½ÐÕâÖÖ·½·¨ÎªÕñº£·¨°É£¬ÔËÓõ½PHP£¬Ð´ÁËrealtime()º¯Êý´úÌætime()£¬²¢¸½ÉϲâÊÔ´úÂëºÍ²âÊÔ½á¹û£º
//////////PHP´úÂ뿪ʼ//////////
<?php
if(!function_exists("realtime"))
{
function realtime()
{
$nowtime = time();
if($nowtime < 0)
{
return 2147483647 + 2147483647 + 2 + $nowtime;
}
else
{
return $nowtime;
}
}
}
//64λphp7.0Ö®ºóµÄÓ÷¨
echo time()." ".realtime()." //time()ºÍrealtime()µÄÖµ£¬ÏµÍ³Ê±¼äµ÷µ½2050Ä꣬time()¸ºÊý˵Ã÷ÊÇ32λµÄ¡£<br />\r\n";
echo date("Y-m-d H:i:s",2556115199)." //Èç¹û·µ»Ø2050-12-31 23:59:59£¬ÄÇôdate()ûÓÐÎÊÌ⣬ÄÜ´¦Àí64λ¡£Èç¹û·µ»Ø1914-11-25 09:31:43£¬ÄÇôdate()Ö»ÄÜ´¦Àí32λ¡£<br />\r\n";
echo date("Y-m-d H:i:s", time())." //date('Y-m-d H:i:s', time())µÄʱ¼ä¡£<br />\r\n";
echo date("Y-m-d H:i:s", realtime())." //date('Y-m-d H:i:s', realtime())µÄʱ¼ä¡£<br />\r\n";
echo gmdate("Y-m-d H:i:s", time())." //gmdate('Y-m-d H:i:s', time())µÄʱ¼ä¡£<br />\r\n";
echo gmdate("Y-m-d H:i:s", realtime())." //gmdate('Y-m-d H:i:s', realtime())µÄʱ¼ä¡£<br />\r\n";
echo PHP_INT_SIZE." ".PHP_INT_MAX." //PHP_INT_SIZEºÍPHP_INT_MAXµÄÖµ¡£<br />\r\n";
//64λPHP7.0֮ǰµÄÓ÷¨
$newdate = new DateTime("@".realtime());
$realdate = $newdate->format("Y-m-d H:i:s");
echo $realdate." //DateTimeÀàµÄʱ¼ä¡£";
//////////PHP´úÂë½áÊø//////////
//////////Ö´Ðнá¹û¿ªÊ¼//////////
»·¾³£ºWindows2003-x64 Apache-2.2.34-VC10-x64 php-5.4.45-VC9-x64
Windowsϵͳʱ¼ä£º2050-10-16 13:28
Ö´Ðнá¹û£º
-1745456344 2549510952 //time()ºÍrealtime()µÄÖµ£¬ÏµÍ³Ê±¼äµ÷µ½2050Ä꣬time()¸ºÊý˵Ã÷ÊÇ32λµÄ¡£
1914-11-25 17:31:43 //Èç¹û·µ»Ø2050-12-31 23:59:59£¬ÄÇôdate()ûÓÐÎÊÌ⣬ÄÜ´¦Àí64λ¡£Èç¹û·µ»Ø1914-11-25 09:31:43£¬ÄÇôdate()Ö»ÄÜ´¦Àí32λ¡£
1914-09-10 07:00:56 //date('Y-m-d H:i:s', time())µÄʱ¼ä¡£
1914-09-10 07:00:56 //date('Y-m-d H:i:s', realtime())µÄʱ¼ä¡£
1914-09-09 23:00:56 //gmdate('Y-m-d H:i:s', time())µÄʱ¼ä¡£
1914-09-09 23:00:56 //gmdate('Y-m-d H:i:s', realtime())µÄʱ¼ä¡£
4 2147483647 //PHP_INT_SIZEºÍPHP_INT_MAXµÄÖµ¡£
2050-10-16 05:29:12 //DateTimeÀàµÄʱ¼ä¡£
----
»·¾³£ºWindows7-x64 Apache-2.4.41-VC15-x64 PHP-7.2.23-VC15-x64
Windowsϵͳʱ¼ä£º2050-10-16 13:07
Ö´Ðнá¹û£º
-1745457669 2549509627 //time()ºÍrealtime()µÄÖµ£¬ÏµÍ³Ê±¼äµ÷µ½2050Ä꣬time()¸ºÊý˵Ã÷ÊÇ32λµÄ¡£
2050-12-31 15:59:59 //Èç¹û·µ»Ø2050-12-31 23:59:59£¬ÄÇôdate()ûÓÐÎÊÌ⣬ÄÜ´¦Àí64λ¡£Èç¹û·µ»Ø1914-11-25 09:31:43£¬ÄÇôdate()Ö»ÄÜ´¦Àí32λ¡£
1914-09-09 22:38:51 //date('Y-m-d H:i:s', time())µÄʱ¼ä¡£
2050-10-16 05:07:07 //date('Y-m-d H:i:s', realtime())µÄʱ¼ä¡£
1914-09-09 22:38:51 //gmdate('Y-m-d H:i:s', time())µÄʱ¼ä¡£
2050-10-16 05:07:07 //gmdate('Y-m-d H:i:s', realtime())µÄʱ¼ä¡£
8 9223372036854775807 //PHP_INT_SIZEºÍPHP_INT_MAXµÄÖµ¡£
2050-10-16 05:07:07 //DateTimeÀàµÄʱ¼ä¡£
//////////Ö´Ðнá¹û½áÊø//////////
²»¿¼ÂÇ32λ°æ±¾£¬´Ó½á¹ûÀ´¿´£¬ÔÚ64λPHP7.0֮ǰ£¬realtime()º¯ÊýºÍDateTimeÀàÒ»ÆðÓÃûÓÐÎÊÌâ¡£ÔÚ64λPHP7.0Ö®ºó£¬realtime()º¯ÊýºÍdate()º¯ÊýÒ»ÆðÓÃûÓÐÎÊÌ⣬ÆðÂ뻹ÄÜÓõ½2038 + (2038 - 1970) = 2106Äê¡£
²»ÖªµÀ64λwindows2008¡¢2012¡¢2016µÈtime()ÊDz»ÊÇ·µ»Ø¸ºÊý¡£³é¿ÕÔÙ²âÊÔ¡£
----------·Ö¸îÏß----------
2019.10.19¸üÐÂ
½ñÌìͻȻ·¢ÏÖ64λ7.0Ö®ºóµÄphpÖУ¬$_SERVER["REQUEST_TIME"]ÊÇÍêÕûµÄ64λʱ¼ä´Á£¬³¬¹ý2038Äê²»»á·µ»Ø¸ºÊý¡£ÔÚµ±Ç°µÄphp°æ±¾ÖУ¬ÓÃÏÂÃæµÄ$rtime±äÁ¿Ìæ»»time()º¯Êý£¬¿ÉÒÔÍêÃÀ½â¾ö2038ÄêÎÊÌâ¡£
//////////php´úÂ뿪ʼ//////////
<?php
//64λphp7.0Ö®ºóµÄÓ÷¨
$rtime = $_SERVER["REQUEST_TIME"];
echo $rtime." //rtime掙歜<br />\r\n";
echo date("Y-m-d H:i:s", $rtime)." //date('Y-m-d H:i:s', rtime)µÄʱ¼ä¡£<br />\r\n";
echo gmdate("Y-m-d H:i:s", $rtime)." //gmdate('Y-m-d H:i:s', rtime)µÄʱ¼ä¡£<br />\r\n";
//////////php´úÂë½áÊø//////////
//////////Ö´Ðнá¹û¿ªÊ¼//////////
»·¾³£ºWindows7-x64 Apache-2.4.41-VC15-x64 PHP-7.2.23-VC15-x64
Windowsϵͳʱ¼ä£º2099-10-19
Ö´Ðнá¹û£º
4096073963 //rtime掙歜
2099-10-19 06:19:23 //date('Y-m-d H:i:s', rtime)µÄʱ¼ä¡£
2099-10-19 06:19:23 //gmdate('Y-m-d H:i:s', rtime)µÄʱ¼ä¡£
//////////Ö´Ðнá¹û½áÊø//////////
-----
2019.10.22¸üÐÂ
ÔÚ32λwindows2003ϵͳºÍ32λPHP5.3.45ÖУ¬ÓÃ$_SERVER['REQUEST_TIME']¿ÉÒÔ»ñÈ¡Õý³£µÄ¸ºÊýʱ¼ä¡£ºÍ64λ°æ±¾ÖÐtime()µÄÖµÒ»Ñù¡£Ð´ÁËÒ»¸öº¯Êý£¬Ö§³Ö32λ»ò64λÀϰ汾µÄwindows2003ºÍPHP5.4.45¡£
ÓÃÏÂÃæµÄÓÃtime2()Ìæ»»time()º¯Êý£¬ÓÃdate2()Ìæ»»date()º¯Êý£¬ÓÃgmdate2()Ìæ»»gmdate()º¯Êý£¬Ë³±ã¸ÄÁËÖ¯ÃÎCMSµÄMyDate()º¯Êý£¬È«²¿ÄÜÖ§³Öµ½2038ÄêÒÔºó¡£
/////PHP´úÂ뿪ʼ/////
<?php
//Ê±Çø
$cfg_cli_time = 8;
//Ö§³Ö2038ÄêÖ®ºóµÄÕýȷʱ¼ä£¬ÓÃtime2()Ìæ»»time()º¯Êý
if(!function_exists('time2'))
{
function time2()
{
$currenttime = time();//64λPHPÓÃtime()»ò$_SERVER['REQUEST_TIME']¶¼¿ÉÒÔ£¬32λPHPÖ»ÄÜÓÃÓÃ$_SERVER['REQUEST_TIME']
if($currenttime < 0)
{
return 2147483647 + 2147483647 + 2 + $currenttime;
}
else
{
return $currenttime;
}
}
}
//Ö§³Ö2038ÄêÖ®ºóµÄÕýȷʱ¼ä£¬ÓÃdate2()Ìæ»»date()º¯Êý
if (!function_exists('date2'))
{
function date2($format='Y-m-d H:i:s', $timest=0)
{
global $cfg_cli_time;
if(empty($format))
{
$format = 'Y-m-d H:i:s';
}
$addtime = $cfg_cli_time * 3600;
if(empty($timest))
{
$newtimestamp = time2() + $addtime;
}
else
{
$newtimestamp = $timest + $addtime;
}
$newdatetime = new DateTime("@".$newtimestamp);
return $newdatetime->format($format);
}
}
//Ö§³Ö2038ÄêÖ®ºóµÄÕýȷʱ¼ä£¬ÓÃgmdate2()Ìæ»»gmdate()º¯Êý
if (!function_exists('gmdate2'))
{
function gmdate2($format='Y-m-d H:i:s', $timest=0)
{
if(empty($format))
{
$format = 'Y-m-d H:i:s';
}
if(empty($timest))
{
$newtimestamp = time2();
}
else
{
$newtimestamp = $timest;
}
$newdatetime = new DateTime("@".$newtimestamp);
return $newdatetime->format($format);
}
}
//·µ»Ø¸ñÁÖÍþÖαê׼ʱ¼ä
if (!function_exists('MyDate'))
{
function MyDate($format='Y-m-d H:i:s', $timest=0)
{
global $cfg_cli_time;
$addtime = $cfg_cli_time * 3600;
if(empty($format))
{
$format = 'Y-m-d H:i:s';
}
return gmdate2($format, $timest+$addtime);
}
}
echo time()." //time()<br />\r\n";
echo time2()." //time2()<br />\r\n";
echo date2()." //date2()<br />\r\n";
echo gmdate2()." //gmdate2()<br />\r\n";
echo MyDate('', 2549948733)." //Õý³£·µ»Ø2050-10-21 15:05:33<br />\r\n";
/////PHP´úÂë½áÊø/////
////Ö´Ðнá¹û¿ªÊ¼/////
»·¾³£ºWindows2003-x64 Apache-2.2.34-VC10-x64 php-5.4.45-VC9-x64
µ±Ç°ÏµÍ³Ê±¼ä£º2050-10-21 15:08:18
-1745018398 //time()
2549948898 //time2()
2050-10-21 15:08:18 //date2()
2050-10-21 07:08:18 //gmdate2()
2050-10-21 15:05:33 //Õý³£·µ»Ø2050-10-21 15:05:33
/////Ö´Ðнá¹û½áÊø/////
**********20210825¸üÐÂ**********
½ñÌì·¢ÏÖÔڵͰ汾ApacheºÍPHPÖУ¬$_SERVER["REQUEST_TIME_FLOAT"]¿ÉÒÔÕýÈ·»ñȡʱ¼ä£¬Î¨Ò»Ò»¸öÕýÈ·µÄ£¬·Ç³£Äѵá£
****²âÊÔ´úÂ뿪ʼ****
<?php
echo time()."<br />\r\n";
echo microtime()."<br />\r\n";
echo $_SERVER["REQUEST_TIME"]."<br />\r\n";
echo $_SERVER["REQUEST_TIME_FLOAT"]."<br />\r\n";
//Ö§³Ö2038ÄêÖ®ºóµÄÕýȷʱ¼ä£¬ÓÃtime2()Ìæ»»time()º¯Êý
if(!function_exists('time2'))
{
function time2()
{
$currenttime = explode('.', $_SERVER['REQUEST_TIME_FLOAT']);
return $currenttime[0];
}
}
echo time2()."<br />\r\n";
$newdate = new DateTime("@".time2());
$realdate = $newdate->format("Y-m-d H:i:s");
echo $realdate."<br />\r\n";
****²âÊÔ´úÂë½áÊø****
****Ö´Ðнá¹û¿ªÊ¼****
ÈÕÆÚ£º2021-08-23 Windows-2008-r2-ÆóÒµ°æ-64λ Apache-2.2.34-64λ PHP-5.4.45-64λ
½á¹û£º
1629692951
0.23484500 1629692951
1629692951
1629692951.234
1629692951
2021-08-23 04:29:11
ÈÕÆÚ£º2050-08-23 Windows-2008-r2-ÆóÒµ°æ-64λ Apache-2.2.34-64λ PHP-5.4.45-64λ
½á¹û£º
-1750125419
0.30849000 -1750125419
-1750125419
2544841877.308
2544841877
2050-08-23 04:31:17
****Ö´Ðнá¹û½áÊø****