【问题标题】:PHP - Time from Decimal in hh::mm::ssPHP - 以 hh::mm::ss 为单位的十进制时间
【发布时间】:2015-08-18 07:34:34
【问题描述】:

我有一个十进制值:1630.167 我可以计算它的秒数,只需执行1630.167 / 60 并将其四舍五入,得到 27.1 秒。

PHP 中是否有一个函数允许我传递一个十进制值并转换为 hh::mm::ss,所以在这种情况下,它会给我以下结果:00::00::27,然后该函数将返回正确的值,如果比如说,小数会是一个更大的数字。

我只是想看看 PHP 中是否有预定义的函数来执行此操作..

【问题讨论】:

标签: php date


【解决方案1】:

您可以使用gmdate,这将允许您通过秒(unix 时间)。

$seconds = 16000.43 / 60;
gmdate("H::i::s", $seconds);

【讨论】:

    【解决方案2】:

    你可以像这样使用 PHP 的date-function:

    $time = date('H::i::s', $value);
    

    也适用于双精度和浮点数。确保将 date_default_timezone_set() 设置为正确的时区。

    【讨论】:

    • 这个答案是错误的,日期是相对于时区设置的,你不应该让这样的功能依赖于此。还有其他可用的函数和类可以正确地完成任务。此外,日期不接受双精度或浮点数,它们被转换为整数。
    【解决方案3】:

    你的答案就在这里......

    echo  date('H:i:s', mktime(0,0,27));
    

    O/P :: 00:00:27

    给出任意秒数,它会在 hh:mm:ss 中给出适当的输出

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-29
      • 2018-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-10
      • 1970-01-01
      相关资源
      最近更新 更多