如何将数字转换为时间戳?

时间:2012-11-01 16:14:41

标签: php time phpmyadmin timestamp

我如何使用php将数字转换为时间戳(特别是分钟)?

我在我的数据库中使用时间戳,例如00:01:3000:00:30

但我写这篇文章的人有习惯(并要求)他们能够输入306075。在我的结尾,我需要以某种方式将它们分别转换为00:00:3000:01:0000:01:15

我该怎么做呢?我知道strtotime()date(),但我似乎无法弄清楚如何获取数字并转换它......

感谢

4 个答案:

答案 0 :(得分:3)

您可以使用一个技巧轻松将此类int转换为时间:

$time = gmdate('H:i:s', 75); // 00:01:15

这是有效的,因为gmdate将始终从1970-01-01 00:00:00转换秒数,因此它将为86400以下的所有整数生成正确的结果

答案 1 :(得分:2)

如果输入只是几分钟,而不是处理strtotime,您可能只想手动将其转换为字符串。例如:

<?php
  $minutes = 75;
  $timestring = sprintf('%2d:%2d:%2d', floor($minutes/60), ($minutes%60), 0);
  echo 'Time: '.$timestring;
?>

这将打印出01:15:00。从您的问题看,分钟在最后一栏中,但我用更标准的格式显示我的解决方案。

编辑:包含结果并使用更合适的示例

答案 2 :(得分:0)

我建议使用mktime。例如,如果您知道可以输入的开始时间,那么只需将30,60或90添加到分钟列。

答案 3 :(得分:0)

如果您的PHP足够新(5.3.x),请使用DateTime类,然后从一天开始创建一个时间,然后再添加75分钟,或者甚至使用内置格式从过了一段时间。