php - 将纪元时间转换为 H :mm timestamp in PHP

标签 php mysql time epoch

这似乎应该有一个非常简单的解决方案,但我正在尝试的一切要么给我一个错误,要么给我错误的结果。

我正在从 MySQL 表中提取数据,时间以 Epoch 格式存储在数据库中。当我在网站上查询时显示:3672(与数据库中显示的数字相同)。我试过使用 date() 函数、许多不同的 str* 函数、不同的算术运算,但是没有任何东西给我实际时间,应该显示为:'1:02'。

我不是想提取日期、实际时间等。我只是想将 Epoch 时间字符串转换为传统的“H:mm”格式,因为这些是持续时间,而不是时间戳。

如有任何帮助,我们将不胜感激!

最佳答案

正如其他人已经注意到的,这实际上不是任何标准的纪元时间,而只是自午夜以来的秒数。

查看您的示例,您只需要小时和分钟(四舍五入)。这会给你那些:

$h = (int)($number / 3600);
$m = ceil(($number - $h * 3600) / 60);
$result = sprintf('%d:%02d', $h, $m);

将数字除以 3600(秒数 60 * 分钟数 60)将得到小时数。使用您的 3672 示例,这将为您提供 1。

要得到分钟,您只需删除小时得到秒 (72),然后将其除以 60 得到分钟(1 分 12 秒)。由于您的示例指定 1:02 是结果,您可以简单地取下一个较大的整数 (2)。

最终结果是 1:02,正如您指定的那样。

关于php - 将纪元时间转换为 H :mm timestamp in PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14432775/

相关文章:

php - Codeigniter Try Catch 交易

mysql - SQL - 返回与所有输入匹配的记录

mysql - 回滚已执行的查询

Java Time - 在终端中输入并查看是否在范围内

PHP SQL - 无法找到用户是否存在

php - 如何在服务 symfony 中添加配置?

mysql - 使用数据库 B 中的字段更新数据库 A 中的字段并避免安全更新警告

java - 如何记录一段时间内的移动,并回放鼠标移动?

Java - 如何在找不到所有元素时添加第二个元素 Java Selenium

php - 用 sed 替换模式中的字符