仅从Unix时间戳代码中提取小时和分钟。

时间:2017-06-08 16:29:34

标签: php strtotime

我正在使用php并希望转换从xml文件中清除的时间。 XML中的时间为<startTime>0945</startTime>(9:45)和<startTime>1330</startTime>(1:30)。

我使用strtotime(xml_time)获取unix时间戳。但现在我只需要提取时间本身。我不需要将它与当前时间进行比较,我不需要包含任何日期信息,而且我不关心时区。任何人都可以帮助我使用哪个功能(如果不同)或如何修改strtotime()来完成此任务?

谢谢!

2 个答案:

答案 0 :(得分:0)

要将1330转换为13:30,您可以使用任何字符串操作函数,例如:

$input = '1330';
var_dump(mb_substr($input, 0, 2) . ':' . mb_substr($input, 2, 2));

demo

如果您向strtotime()提供不完整的日期,则会使用当前日期的位和使用默认时区来填补空白。这将导致随机意外结果,具体取决于脚本运行的时间:

var_dump( date('H:i:s', strtotime('0230')) );
  

string(8)“02:30:00”

var_dump( date('H:i:s', strtotime('0230', mktime(1, 30, 50, 3, 26, 2017))) );
  

string(8)“03:30:00”

答案 1 :(得分:-1)

您可以使用date提取所需的时间参数:

echo $time = date("H:i:s",strtotime($xml_time));