我有一个$ _POST($ _POST ['durationChosen'])这是一个时间,其格式为'00小时00分00秒'。现在我仍然想在文本框中显示这种格式,但在下一页我想要$ _POST ['durationChosen']我希望格式为'00:00:00'。我怎么能这样做?
一个例子是在文本框中我有'01小时30分15秒'但在下一页我希望它格式化为'01:30:15'。可以这样做吗?
答案 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]));