【问题标题】:Convert timestamp to hours and minutes for a movies' length将时间戳转换为电影长度的小时和分钟
【发布时间】:2013-12-05 04:55:00
【问题描述】:

我已将 2009 年电影《阿凡达》的长度从分钟转换为时间戳。这部电影有 162 分钟长,所以时间戳是 1386227800。现在我需要将时间戳转换为小时和分钟,我不知道如何。

简而言之:如何转换时间戳并在小时和分钟内获得正确结果?

我已经测试了floor(1386227800 / 60)date('H:i', mktime(0, 1386227800) 和一些将时间戳转换为小时和分钟的函数,但这些函数只会将小时转换为无穷无尽的东西,比如12375 或类似的东西。

那么,我该怎么做呢?

【问题讨论】:

  • I have converted the length of the movie Avatar from 2009, from minutes to timestamp. -- 这没有任何意义。时间戳代表时间点,而不是持续时间
  • 好的。所以我从strtotime(162) 得到的时间戳不正确?
  • 时间戳并不代表任意的持续时间。它是自 1970 年 1 月 1 日以来经过的秒数,因此 162 分钟没有意义(除非您的意思是表示 1970 年 1 月 1 日 02:42
  • @MichaelBerkowski 是的。我知道这一点。所以我的时间戳不正确?如果答案是否定的,那么我必须坚持分钟而不是将它们转换为时间戳:P

标签: php timestamp


【解决方案1】:

正如其中一位评论者所提到的,时间戳表示单个时间点,而不是持续时间。根本没有理由调用 strtotime - 如果您已经有了总分钟数,您可以忽略将其转换为时间戳,而只需将其转换为小时:分钟,如下所示:

$time=162;

$hours = floor($time / 60);
$minutes = ($time % 60);

echo $hours.":".$minutes;

【讨论】:

    【解决方案2】:
    echo date('H:i:s', 1386227800);
    

    【讨论】:

    • 打印08:16:40
    • 那是不正确的答案,因为 date() 包括时区...例如,您想要 print echo date('H:i:s', 100); // 我国的答案 1:01:40 :))
    【解决方案3】:

    你可以试试,

     echo date('H:i','1386227800');
    

    【讨论】:

    • 那是不正确的答案,因为 date() 包括时区...例如,您想要 print echo date('H:i:s', 100); // 我国的答案 1:01:40 :))
    【解决方案4】:

    据我了解,您希望将 162 分钟转换为小时和分钟。这是一个简单的数学案例。

    <?php
    
    $minutes = 162 % 60;
    $hours = floor(162 / 60);
    
    ?>
    

    $hours 将返回 2,$minutes 将返回 42。2 小时 42 分钟相当于 162 分钟。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-16
      • 1970-01-01
      • 2021-12-18
      • 1970-01-01
      • 1970-01-01
      • 2015-07-20
      相关资源
      最近更新 更多