DURATION

Post Reply
ulan
Posts: 1437
Joined: Fri Nov 23, 2018 2:49 pm

DURATION

Post by ulan »

Подскажите, в базе длительность хранится в секундах
тэг <!--DURATION--> выводит как 00:00:00
Для микроразметки мне надо выводить в PTS формате PT00H43M43S
теоритически я могу преобразовать на пхп через
function iso8601_duration($seconds)
{
return strftime ("PT%HH%MM%SS", $seconds);
}

но у меня нету секунд ибо <!--DURATION--> уже их преобразовал
просьба сделать тэг <!--DURATION_PTS-->
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: DURATION

Post by admin »

"тэг <!--DURATION--> выводит как 00:00:00

но у меня нету секунд ибо <!--DURATION--> "


так есть секунды или нет? в первой строке они есть
Don't forget to run script update
ulan
Posts: 1437
Joined: Fri Nov 23, 2018 2:49 pm

Re: DURATION

Post by ulan »

<!--DURATION--> выводит как 00:00:00
движок преобразовал уже в часы минуты секунды
мне еще надо преобразовать в формат PTS
PT00H43M43S чтобы вот так было

моя функция переводит сами секунды как они хранятся в базе а именно целым числом к примеру 10 минут хранится как 600
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: DURATION

Post by admin »

Ясно

добавил в ап таг <!--DURATION_SECONDS--> котрый выводит именно в секундах с которыми мможно делать что угодно
Don't forget to run script update
ulan
Posts: 1437
Joined: Fri Nov 23, 2018 2:49 pm

Re: DURATION

Post by ulan »

Так может еще добавим сразу в формате PTS? Чтобы движок сразу сделал это
ulan
Posts: 1437
Joined: Fri Nov 23, 2018 2:49 pm

Re: DURATION

Post by ulan »

Хм, а моя функция криво работает на разных версиях пхп
поэтому если можете сделайте с движка чтобы работало плиз
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: DURATION

Post by admin »

Можете использовать функцию date
она совершенно точно работает одинаково на всех пхп
Don't forget to run script update
ulan
Posts: 1437
Joined: Fri Nov 23, 2018 2:49 pm

Re: DURATION

Post by ulan »

Может пригодиться кому - то
function iso8601_duration($seconds)
{
$hours = floor($seconds / 3600);
$seconds = $seconds % 3600;

$minutes = floor($seconds / 60);
$seconds = $seconds % 60;

return sprintf('PT%02dH%02dM%02dS', $hours, $minutes, $seconds);
}

echo iso8601_duration(<!--DURATION_SECONDS-->);
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: DURATION

Post by admin »

Спасибо, да, думаю пригодится.
Don't forget to run script update
Post Reply