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
比简单的算术更昂贵;然而,我可能错了。我不明白怎么做,有人能给我一个代码示例吗?