好吧,所以我现在正在进行各种游戏,并且我已经遇到了一个小问题 - 直到大约一个小时前,游戏中的时间正在处理日期时间功能内置于PHP中,但这种情况已经停止了,因为2038年的时间错误。
我试图通过制作我自己的时间系统来解决这个问题,这个系统慢慢变成了屁股的痛苦。 (因为我并不完全确定我在做什么)
我在这里有这个代码
echo "TIME:".$time.'<br/>';
$year = ceil($time/GYEAR);
if($year%GMONTH) { $month = ceil($year/GMONTH);}else{ $month = '';}
if($month%GDAY) { $day = ceil($month/GDAY); } else { $day = '';}
echo $year.'-'.$month.'-'.$day;
这应该是我的时间系统的基础,但我做错了什么,只能正确地得到年份,而不是月份或日期。
常量是
define("GMIN", 60);
define("GHOUR", GMIN*60);
define("GDAY", GHOUR*24);
define("GMONTH", GDAY*30);
define("GYEAR", GMONTH*12);
define("TIME_STEP", GMONTH*12+GDAY);`
时间变量只是TIME_STEP *但是很多次我运行它(它存储在数据库中,现在它的值是:1736899200)
我很确定问题是我不确定如何使用%运算符,但我对此有一些意见。
答案 0 :(得分:1)
对我而言,最好的方法是使用php DateTime
课程和MySql DateTime field
。
他们都支持2038年以上的日期,并且比你自己定制的东西更好用#34; ...&#34;