你如何将时间转换为整数?
string(8) "04:04:07"
我希望这是4(小时)或更好4.04(4小时和4分钟)
我试过
$yourdatetime = "04:04:07";
$timestamp = strtotime($yourdatetime);
结果是
int(1458590887)
答案 0 :(得分:3)
date功能是你的朋友:
根据您自己的代码:
$yourdatetime = "04:04:07";
$timestamp = strtotime($yourdatetime);
然后您可以将其输入日期函数:
echo 'Hours:' . date('h', $timestamp); // Hours: 04
echo 'Minutes:' . date('i', $timestamp); // Minutes: 04
echo 'Seconds:' . date('s', $timestamp); // Seconds: 07
请参阅the docs了解您需要几个小时的特定格式 - 有很多选择。
你甚至可以一举一动:
echo date('h.i', $timestamp); // 04.04
如果你需要真正的数字:
echo float(date('h.i', $timestamp)); // 4.04
答案 1 :(得分:1)
使用(float)
和preg_replace
进行单行代码转换:
$floatval = (float) preg_replace('/^(\d+):(\d+).+/','\1.\2',$yourdatetime);
答案 2 :(得分:1)
所以我们会打破这个。如果我们将小时转换为整数并将分钟留作字符串,这是一个非常简单的转换
$time = explode(':', $yourdatetime);
$hours = (int)$time[0] . '.' . $time[1];
避免正则表达式的任何开销
答案 3 :(得分:1)
strtotime()
返回自Unix Epoch以来的秒数。然后,您可以使用date()
对其进行格式化。日期文件:http://php.net/manual/en/function.date.php
获得小时数(4):
$timestamp = date("g",strtotime($yourdatetime));
获得小时数和分钟数(4.03):
$timestamp = date("g.i",strtotime($yourdatetime));