【问题标题】:Php subtracts second from digitphp从数字中减去秒
【发布时间】:2018-05-03 20:45:15
【问题描述】:

如何使用 php 从数字时间中减去秒数?

如果我有这个时间怎么办:

00:01:30

我想把它减去 3 秒,这样就可以了

00:01:27

【问题讨论】:

标签: php


【解决方案1】:

您应该查看DateTime 课程。它真的很强大,而且是天赐之物。

<?php     
$date = new DateTime("2017-11-20 00:01:30");
$date->modify("-3 seconds");
echo $date->format("H:i:s");
//output :00:01:27

【讨论】:

    【解决方案2】:

    使用 modify 函数减去秒数,如下所示。

    $timeStr = new DateTime("09:00:00");
    
    $timeStr->modify('-3 seconds'); // can be seconds, hours.. etc
    
    echo $timeStr->format('H:i:s');
    

    答案借自Add 30 seconds to the time with PHP

    【讨论】:

      【解决方案3】:

      正如其他答案中提到的,DateTime 类非常有用,并且在格式等方面具有更大的灵活性。然而,对于这个孤立的例子,它可以这样做:

      $time = '00:01:30';
      echo date('H:i:s', strtotime($time .' - 3 seconds'));
      

      产生: 00:01:27

      编辑:

      根据关于微秒的评论,date 函数不支持这一点。

      微秒(在 PHP 5.2.2 中添加)。请注意, date() 将始终 生成 000000 因为它需要一个整数参数,而 如果创建了 DateTime,则 DateTime::format() 确实支持微秒 以微秒为单位。

      如上所述,在其他答案中,PHP 中的 DateTime 类在格式化日期方面更加灵活。它允许setTimezone 支持时区,createFromFormat 支持多种输入格式。

      【讨论】:

      • 嗨,如果我想要 - 1/10 秒呢?
      猜你喜欢
      • 1970-01-01
      • 2021-07-07
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多