2015-06-05 5 views
1

как я могу конвертироватьизменить второй срок до ISO 8601 Формат

00: 00: 46,70

в

T0M46S

Стараюсь

$date = new DateTime($time); echo $date->format('\P\TG\Hi\M'); 

, но это дает мне что-то вроде этого:

PT0H00M

Примечание Я хочу продолжительность ... не дата!

+0

возможный дубликат [PHP: Как преобразовать длительность строки в ISO 8601 формате продолжительности? (например, «30 минут» до «PT30M»)] (http://stackoverflow.com/questions/13301142/php-how-to-convert-string-duration-to-iso-8601-duration-format-ie- 30-минутный) – Thilo

+0

@Thilo Я должен сделать это с помощью собственной php-функции ... нет с пользовательской функцией ... Я видел это сообщение до – partiz

+0

. Вы можете оставить комментарий к другому сообщению, спрашивая, есть ли такой родной php. – Thilo

ответ

0

Нет встроенной функции, но вы можете сделать это с помощью собственного объекта DateTime: вычислить продолжительность с полуночи до вашего времени.

<?php 

    $time  = new DateTime('00:00:46.70'); 
    $midnight = new DateTime('00:00:00.00'); 
    $period = $midnight->diff($time); 

    echo $period->format('T%iM%SS'); //output T0M46S 

print_r($period); 

Вот php sandbox, чтобы проверить его

Смежные вопросы