Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将秒转换为年/月/日_Php - Fatal编程技术网

Php 将秒转换为年/月/日

Php 将秒转换为年/月/日,php,Php,好吧,我现在正在做一个游戏,我遇到了一个小问题——直到大约一个小时前,游戏中的时间使用PHP内置的datetime函数,但由于2038时间错误,这有点停止了工作 我正试图通过建立自己的时间系统来解决这个问题,这正慢慢成为一个让人头疼的问题(因为我不是100%确定我在做什么) 我这里有这个密码 echo "TIME:".$time.'<br/>'; $year = ceil($time/GYEAR); if($year%GMONTH) { $month = ceil($year/GMO

好吧,我现在正在做一个游戏,我遇到了一个小问题——直到大约一个小时前,游戏中的时间使用PHP内置的datetime函数,但由于2038时间错误,这有点停止了工作

我正试图通过建立自己的时间系统来解决这个问题,这正慢慢成为一个让人头疼的问题(因为我不是100%确定我在做什么)

我这里有这个密码

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;
时间变量只是time_STEP*,不管我运行了多少次(它存储在数据库中,现在它的值是:1736899200)


我很确定问题是我不确定如何使用%运算符,但我想输入一些信息。

对我来说最好的方法是使用类和


它们都支持超过2038年的日期,并且比您自己的自定义“东西”更好地使用。…

2038错误发生在32位操作系统上。请不要将此用作服务器。在x64上安装一个好的服务器,这将支持您的时间戳,而无需对其进行黑客攻击…@Blag我有x64系统,但每次我在时间戳中到达2038,它都会重置为0000-00-00:00:00,我认为这可能与此有关。即使使用x64Huh,2038错误现在似乎也没有得到真正的修补,时间戳字段不支持它吗?我正在查看我的结构,它被设置为时间戳而不是DateTime@PatrickPiersonmysql时间戳使用INT存储
时间戳值的范围是'1970-01-01 00:00:01.000000'到'2038-01-19 03:14:07.999999'。
日期时间可以从1000到99999。好吧,这一定是问题所在。我现在要试一试,谢谢你@Blag@PatrickPierson不客气;)这是相关的,并解释多一点
    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);`