希望这很简单,但我无法获得可预测的结果。我想要它的原因是为mongo数据库添加一个可比较的时间,该数据库将在几秒钟内存储,但以格式化的时间字符串打印到屏幕,以及将时间+持续时间打印为格式化的时间字符串。在下面的例子中,它应该是开始时间的上午8:30和结束时间的上午10:30
<?php
function toTimeStamp($time){
// 60 * 60 * 8.5
// sec * min * $time
return 60 * 60 * $time;
}
function fromTimeStamp($sec){
return date('g:ia', $sec); // HH:MMam/pm
}
$start = toTimeStamp(8.5); // 30600
$duration = toTimeStamp(2); // 7200
echo fromTimeStamp($start) . '<br>'; // 9:30am
echo fromTimeStamp($duration) . '<br>'; // 3:00pm
echo fromTimeStamp(($start + $duration)) . '<br>'; // 11:30pm
感谢您的光临。
答案 0 :(得分:1)
是日期函数将第二个参数作为时间戳(秒)
答案 1 :(得分:1)
对我来说似乎是时区问题 试试这个:
function fromTimeStamp($sec){
date_default_timezone_set('UTC');
return date('g:ia', $sec); // HH:MMam/pm
}
根据http://us.php.net/manual/en/function.date-default-timezone-set.php:
date_default_timezone_set - 设置脚本中所有日期/时间函数使用的默认时区
因此,您可以将命令放在更方便的位置,以便每次都不要调用。