如何更改时间格式

时间:2012-03-31 13:42:23

标签: php

我有一个$ _POST($ _POST ['durationChosen'])这是一个时间,其格式为'00小时00分00秒'。现在我仍然想在文本框中显示这种格式,但在下一页我想要$ _POST ['durationChosen']我希望格式为'00:00:00'。我怎么能这样做?

一个例子是在文本框中我有'01小时30分15秒'但在下一页我希望它格式化为'01:30:15'。可以这样做吗?

3 个答案:

答案 0 :(得分:0)

您可能需要阅读manual。编码的问题在于,您使用的是时间的简短表示法,数据函数无法理解。 Read here

解决此问题的简单方法

$time = $_POST['durationChosen'];
$time= str_replace("Hrs", "Hour", $time);
$time= str_replace("Mins", "minutes", $time);
$time= str_replace("Secs", "seconds", $time);

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

答案 1 :(得分:0)

试试这个:

<?php

  $array = sscanf($_POST['durationChosen'], "%u %s %u %s %u %s");

  $time = date('H:i:s', strtotime($array[0] . ':' . $array[2] . ':' . $array[4]));

修改以反映以下接受评论:

<?php

      $time = str_replace(array(' Hrs ', ' Mins ', ' Secs'), array(':', ':', ''), $_POST['durationChosen']);

答案 2 :(得分:0)

你可以使用爆炸功能

来做到这一点
$tm = explode(' ', $_POST['durationChosen']);

$dt = date('H:i:s', strtotime($tm[0].':'.$tm[2].':'.$tm[4]));