2012-02-26 2 views
0

Это очень просто, но я не могу найти функцию для форматирования форматирования по времени.Преобразование строки (0: 2: 1) в формат времени в PHP

я следующая строка, нужно отформатировать его время:

0: 2: 1

Как я могу сделать это 00:02:01?

+2

Ну, '0: 2: 1 'не является действительно недопустимый формат времени. Это просто цифры, разделенные двоеточием. Попробуйте разбить его молотком, набирая каждую часть с помощью 0, а затем склеивая их вместе. – animuson

+0

Я такой невежественный. какова функция для форматирования каждый раз без нуля? У меня переменные часы, минуты и секунды. если я могу просто форматировать его как формат ($ seconds, «00»)), который будет работать для меня. – jaypabs

ответ

1

Хорошо, вот простой небольшой скрипт:

$input = '0:2:1'; 
$split = explode(':', $input); 
foreach ($split as $i => $v) $split[$i] = str_pad($v, 2, '0', STR_PAD_LEFT); 
$final = implode(':', $split); 
echo $final; // Do something with the new string you created 

Это будет принимать какие-либо строки, такие как 0:2:1, 0:3:15 или 10:4:9 и создать строку в соответствующем формате времени 00:00:00.

+0

он работает! Большое спасибо... – jaypabs

1

Я так бессвязно. какова функция для форматирования каждый раз без нуля? У меня переменные часы, минуты и секунды. если я могу просто форматировать его как формат ($ seconds, «00»)), который будет работать для меня.

$dt = new DateTime(); 
$dt->setTime($hours, $minutes, $seconds); 
echo $dt->format('H:i:s');