我如何使用php将数字转换为时间戳(特别是分钟)?
我在我的数据库中使用时间戳,例如00:01:30
和00:00:30
但我写这篇文章的人有习惯(并要求)他们能够输入30
或60
或75
。在我的结尾,我需要以某种方式将它们分别转换为00:00:30
,00:01:00
和00:01:15
。
我该怎么做呢?我知道strtotime()
和date()
,但我似乎无法弄清楚如何获取数字并转换它......
感谢
答案 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分钟,或者甚至使用内置格式从过了一段时间。