将时间转换为Php中的整数

时间:2016-03-22 01:25:40

标签: php

你如何将时间转换为整数?

 string(8) "04:04:07"

我希望这是4(小时)或更好4.04(4小时和4分钟)

我试过

  $yourdatetime = "04:04:07";
  $timestamp = strtotime($yourdatetime);

结果是

 int(1458590887)

4 个答案:

答案 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));