我试图使用date_purchased从称为订单的数据库表中创建一个经过的时间。 我知道我会尽力获得date_purched

<?php echo zen_datetime_short($order->info['date_purchased']); ?>

并获取格式为04/20/2014 11:19:56的日期和时间我对php不好,只是开始学习这一点,但是根据我的研究,我尝试了以下方法

<?php
$first  = $order->info['date_purchased'];
$second = new DateTime( 'Y-m-d H:i:s' );
$diff = $first->diff( $second );
?>

那我做

<?php echo $diff->format( '%H:%I:%S' ); ?>

不幸的是,页面一直加载到我的回声,然后显示在其下方的所有内容都没有显示。 我最好只想在输出中显示分钟和秒。

谢谢你的帮助。 我在服务器上使用php 5.3。

===============>>#1 票数:0

我对zen-cart不太熟悉,但是根据文档, zen_datetime_short似乎使用原始字符串作为参数。

(我认为)这意味着您正在尝试将字符串用作PHP DateTime对象,这将导致脚本失败。 您可以尝试修改脚本,如下所示将原始时间戳从数据库转换为DateTime对象,并查看结果是否更好:

$first  = new DateTime($order->info['date_purchased']);
$second = new DateTime();
$diff   = $first->diff($second);

echo $diff->format('%H:%I:%S') . "\n";

===============>>#2 票数:0 已采纳

     $dt = date('Y-m-d H:i:s');
     echo $dt."<br>";

     $difference = strtotime($dt) - strtotime("20-04-2014 20:14:30");

    // getting the difference in minutes
     $difference_in_hours = $difference / (60*60);

     echo $difference_in_hours."<br>";

    function sECONDS_TO_DHMS($seconds)
      {

         $days = floor($seconds/86400);
         $hrs = floor($seconds/3600);
         $mins = intval(($seconds / 60) % 60); 
         $sec = intval($seconds % 60);

            if($days>0){
              //echo $days;exit;
              $hrs = str_pad($hrs,2,'0',STR_PAD_LEFT);
              $hours=$hrs-($days*24);
              $return_days = $days." Days ";
              $hrs = str_pad($hours,2,'0',STR_PAD_LEFT);
         }else{
          $return_days="";
          $hrs = str_pad($hrs,2,'0',STR_PAD_LEFT);
         }

         $mins = str_pad($mins,2,'0',STR_PAD_LEFT);
         $sec = str_pad($sec,2,'0',STR_PAD_LEFT);

         return $return_days.$hrs.":".$mins.":".$sec;
      }
      echo sECONDS_TO_DHMS($difference);

将第二时间字段替换为您从数据库获取的日期时间。

  ask by David translate from so

未解决问题?本站智能推荐:

3回复

php mysql时间已过去计算

我有一个app [iphone],有时会发送到服务器[使用json],所以时间看起来像hh:mm 24小时格式,时间在db中保存为varchar, 我需要计算经过的时间= endTime - startTime 但我的问题是我在db中有时间作为varchar!,没有时间戳,
3回复

PHP时间已过去,请在几秒钟前删除“和”

因此,我得到了这个工作代码,它将MySQL日期转换为UNIX Timestamp,并从当前date()中减去它,以显示类似“自X以来已经过去的时间”的计时器。 (因为它在另一个脚本中,所以缺少从数据库获取日期的部分) 通过在当前时间戳上添加10秒,我设法解决了错误报告缺少数组或某些错误
1回复

在MySQL中选择两次之间的第一个空闲日期时间

我想找到一个最佳的约会时间,该日期之前有20分钟的空闲时间,过去也至少有20分钟。 所以 在数据库中: 2014-03-24 10:30 2014-03-24 11:10 2014-03-24 12:00 2014-03-24 12:30 如果我
3回复

计算人类可读经过时间的最佳方法

我想知道在给定的几秒钟内计算人类可读耗时的最优雅方法是什么。 我想用PHP编写。 这是所需的输出: elapsedTimeInSeconds>一年,输出“#年,#个月” elapsedTimeInSeconds>一个月,输出“#个月,#天” elap
1回复

R-大型数据集基于列数据的计时器(对于x时间条件成立)

免责声明:我是R的新手,我已经搜索了答案。 也有类似的问题,但是我在将所阅读的内容转换为对我的实现有意义的东西时遇到了问题。 我试图添加一个条件计时器列,该列测量的时间量sampleCondition = TRUE。 如果条件返回false,则计时器应复位。 注意:我正在尝试摆脱fo
1回复

不同传感器数据中纳米时间的不同值。如何弄明白?

自最新的Android更新(第8版)以来,我在尝试读取传感器时意识到了一种非常奇怪的行为。 更具体地说,我说的是WiFi和Cell Towers。 这是两个例子: 当我读取WiFi接入点信息数据并尝试使用以下代码将accessPoint.timestamp转换为绝对时间戳: 但
4回复

java经过的时间[重复]

这个问题已经在这里有了答案: System.currentTimeMillis vs System.nanoTime 10个答案 使用currentTimeMillis测量经过时间将返回0 3个答案 我实现了一个计时器,以找出我的代码的经过时间。 它不会
1回复

从固定的开始时间计算不同时间点的经过时间

我在Swift Playground中执行了以下代码。 我希望“第一秒”计数为5,而“第二秒”计数为10,因为两者的startDt与起点相同。 但结果两个都为5。 我在这里想念什么吗?
3回复

计算午夜到当前时间之间经过的时间

我正在尝试确定一整天都经过了多少小时,分钟,秒。 定时器在每一天的午夜重新启动。 因此,如果当前时间是2:15 PM,那么我需要将其计算为14小时15分钟。 我知道如何在.Net中轻松实现这一点,但遗憾的是我对Android和Java的日历/日期类并不熟悉。 看来Date
3回复

Swift - 计算经过的时间需要太长时间?

我的服务器调用为我提供了每个数据的日期时间的JSON数据,我想计算从现在到现在之间经过的时间并将其加载到我的数据结构中。 我正在做的方式现在需要很长时间,我应该使用不同的设计实践吗? 以下功能是我现在正在使用的功能