Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.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/SQL变量操作_Php_Mysql - Fatal编程技术网

PHP/SQL变量操作

PHP/SQL变量操作,php,mysql,Php,Mysql,我有以下变量: $days_a = $array_total['days']; // This one display days $hours_a = $array_total['hours']; // This one display hours $minutes_a = $array_total['minutes']; // This one display minutes $seconds_a = $array_total['seconds']; // This one display

我有以下变量:

$days_a = $array_total['days']; // This one display days 
$hours_a = $array_total['hours']; // This one display hours
$minutes_a = $array_total['minutes']; // This one display minutes
$seconds_a = $array_total['seconds']; // This one display seconds
$days_f = $fetch_s['days'];
$hours_f = $fetch_s['hours'];
$minutes_f = $fetch_s['minutes'];
$seconds_f = $fetch_s['seconds'];
这些变量为我提供了当前会话时间,在这里所有的工作

现在的问题是

我有这些变量:

$days_a = $array_total['days']; // This one display days 
$hours_a = $array_total['hours']; // This one display hours
$minutes_a = $array_total['minutes']; // This one display minutes
$seconds_a = $array_total['seconds']; // This one display seconds
$days_f = $fetch_s['days'];
$hours_f = $fetch_s['hours'];
$minutes_f = $fetch_s['minutes'];
$seconds_f = $fetch_s['seconds'];
这些显示了用户以前在网站中输入的时间,他们从数据库中获取了值。。。我这样做是为了将当前会话变量值添加到MySQL Db中的值:

   $days_2 = $days_a + $days_f;
   $hours_2 = $hours_a + $hours_f;
   $minutes_2 = $minutes_a + $minutes_f;
   $seconds_2 = $seconds_a + $seconds_f;
但我需要每60秒增加1到$minutes\u 2,每60分钟增加1到$hours\u 2,每24小时增加1到$days\u 2

例如,如果我有118秒,我需要它将1添加到$minutes_2,并将变量$seconds_2设置为58等等

如何做到这一点

我试过这样的方法:

   $seconds = $seconds_2 % 60;
    $minutes_3  = $seconds_2 / 60;
     $minutes  = $minutes_3  % 60;
      $hours_3   = $minutes  / 60;
       $hours    = $hours_3  % 24;
        $days   = $hours  / 24;

          $days = (int)$days_int;
但这行不通。。。有人知道如何以相似或不同的方式做到这一点吗


有人能告诉我密码吗?请

根据我的经验,通过将给定时间转换为UNIX秒数,再加上秒数,再转换回秒数,可以更轻松地进行这些计算。这样系统就可以为您全天、小时、分、秒地记账。例如,使用mktime转换为UNIX秒(您可以使用现有的时间参数),使用date、strftime转换回天、小时、分钟、秒。

请参阅DateTime::diff()的示例。我支持此答案。就我个人而言,我甚至从未将写出的数据/时间存储为字符串。我总是使用UNIX秒/UNIX时间戳。将时间戳存储在数据库中,必要时,可以轻松地将其从时间戳转换为人类可读的日期/时间。通过这样做,时间修正算法变得更简单。这还允许您通过简单地将UNIX时间戳转换为您(或用户)喜欢的时区来轻松管理时区。现在我总是使用全人类可读的时间戳(
2014-01-01 00:00:00
),并使用
DateTime
格式化和执行计算。它比unix时间戳要重得多,但在我看来,它更容易操作,更具表现力。然而,OP所做的一切简直是疯狂。哈哈,好吧,OP正在学习。我们一度都处在他的位置上。无论如何,是的,
DateTime
具有更好的可读性,但是搜索数据库会获得一些优势。您可以简单地调出时间戳大于另一个时间戳的所有条目的记录。我不确定MySQL是否提供了一种方法来比较日期的字符串表示形式,从而执行相同的任务。我还可以想象,使用
DateTime
比简单的算术更昂贵;然而,我可能错了。我不明白怎么做,有人能给我一个代码示例吗?