我的时间格式是d / m / Y - h:ia
示例输出是21/10/2012 - 03:49 pm
我正在使用此代码计算$ from和$ to
之间的差异 $to = strtotime("21/10/2012 - 10:30pm");
$from = strtotime("22/10/2012 - 8:30am");
$stat = date("H\h:i\m", abs($to - $from));
但我得到了不正确的值
对于上面的示例我得到了16h:00m的输出,但它应该是10h:00m
有更有效和更有效的方法吗?
答案 0 :(得分:1)
此格式不正确且strtotime无法识别(请参阅第三条注释)我怀疑您的时区为GMT-8,并且您将始终以此格式从日期开始16小时。
您必须手动将此日期转换为php识别的格式才能进行一些计算
答案 1 :(得分:1)
注销:
如果(function_exists( 'date_default_timezone_set')) date_default_timezone_set( '美国/纽约');
$from = $_SESSION['loginT']; $to = date('m/d/Y h:i A'); $diff_seconds = strtotime($to) - strtotime($from); $stat = floor($diff_seconds/3600).'H:'.floor(($diff_seconds%3600)/60).'M';
登录:
$_SESSION['loginT'] = date('m/d/Y h:i A');
示例输出:
21/10/2012 - 06:37pm 21/11/2012 - 06:07pm 23H:30M