Используйте Strtotime для форматирования переменных для часов, минут и AM/PM.

Я пытаюсь понять, как использовать strtotime со значениями ниже. Я думаю, что это должно быть просто, но я просто не могу этого понять. Я хотел бы, чтобы вывод был примерно таким:

date("H:i:s") - выглядит так - 16:30:00

<?php

$hour = "4";
$minute = "30";
$period = "PM";

echo strtotime("$hour $minute $period")

?>

Я копался некоторое время, но не могу понять это. Любые идеи будут очень полезны! Благодарю вас!


person Brandon    schedule 31.03.2013    source источник
comment
Можете ли вы рассказать/показать нам, что вы ожидаете от эха? Вы хотите повторить количество секунд с 00:00:00 UTC 1 января 1970 года?   -  person Popnoodles    schedule 31.03.2013
comment
Здравствуй! надеясь вывести его как 16:30:00   -  person Brandon    schedule 31.03.2013


Ответы (3)


Эхо 16:30:00 с 16, 30 и PM

echo date("H:i:s", strtotime("$hour:$minute $period"));
person Popnoodles    schedule 31.03.2013

Вам нужно указать разделитель между минутами и часами:

echo strtotime("$hour:$minute $period");

должно сработать. (На самом деле я проверил и работал).

Редактировать
Итак, если вам нужно, чтобы вывод был похож на HH:MM:SS, вам нужно напечатать дополнительную информацию:

echo date("H:i:s", strtotime("$hour:$minute $period"));
person zipser    schedule 31.03.2013
comment
Спасибо! Как бы я вывел это как (16:30:00) - person Brandon; 31.03.2013
comment
Ну, strtotime даст вам формат UNIX timestamp, а не 16:30:00. - person zipser; 31.03.2013

вы могли бы сделать это так-

$hour = date("h"); 
$minute = date("i"); 
$period = date("A"); 


echo $hour . ":" . $minute . " " . $period; 

он выведет 07:30 утра

вы также можете добавить еще одну переменную на секунды -

$hour = date("h"); 
$minute = date("i");
$seconds = date("s"); 
$period = date("A"); 


echo $hour . ":" . $minute . ":" . $seconds . " " . $period; 

это выведет 07:30:00

person Kevin Lynch    schedule 31.03.2013