background gradient
s2 - IT photo №27611

Как PT3M21S конвертировать в 03:21 время для YouTube API?

При работе с YouTube API v3 есть метод list категории Video (https://www.googleapis.com/youtube/v3/videos).

При его использовании вы получаете массив с видео внутри которого объекты содержащие данные о каждом видео, один из таких параметров «duration» который содержит время в формате PT3M21S.

Как же конвертировать это время в более удобочитаемый формат часов, минут и секунд? Давайте рассмотрим примеры на PHP, JavaScript и Python.

Как конвертировать PT3M21S на PHP?

function convertYouTubeDuration($video_duration = '', $format = "H:i:s") {
	if(!$video_duration) return false;
    $start = new DateTime('@0'); // Unix epoch
    $start->add(new DateInterval($video_duration));
    return $start->format($format);
}

// Пример использования функции
$video_duration = 'PT2H30M45S'; // Пример длительности в формате YouTube
$video_duration_seconds = convertYouTubeDuration($video_duration);
var_dump($video_duration_seconds); // Выводит преобразованную длительность 2:30:45

Как конвертировать PT3M21S на JavaScript?

function convertYouTubeDuration(video_duration, format = "HH:mm:ss") {
    if (!video_duration) return false;

    const start = new Date(0);
    const durationArray = video_duration.match(/\d+/g);
    if (!durationArray) return false;

    const [hours, minutes, seconds] = durationArray.map(Number);

    start.setHours(hours);
    start.setMinutes(minutes);
    start.setSeconds(seconds);

    const options = { hour12: false, timeZone: 'UTC' };
    const formattedDuration = start.toLocaleTimeString('en-US', options);

    return formattedDuration;
}

// Пример использования функции
const video_duration = 'PT2H30M45S'; // Пример длительности в формате YouTube
const video_duration_formatted = convertYouTubeDuration(video_duration);
console.log(video_duration_formatted); // Выводит преобразованную длительность 2:30:45

Как конвертировать PT3M21S на Python?

from datetime import datetime, timedelta

def convert_youtube_duration(video_duration, format="%H:%M:%S"):
    if not video_duration:
        return None
    
    duration_parts = video_duration[2:].split('M')
    hours, minutes = divmod(int(duration_parts[0]), 60)
    minutes, seconds = map(int, duration_parts[1][:-1].split('S'))

    start = datetime(1, 1, 1, hours, minutes, seconds)
    formatted_duration = start.strftime(format)
    
    return formatted_duration

# Пример использования функции
video_duration = 'PT2H30M45S'  # Пример длительности в формате YouTube
video_duration_formatted = convert_youtube_duration(video_duration)
print(video_duration_formatted)  # Выводит преобразованную длительность 02:30:45

Теперь вы можете легко интегрировать функцию конвертации продолжительности видео на ютуб в ваш код на языке JavaScript, Python или PHP при работе с YouTube API v3 и предоставлять пользователям понятный формат времени видео.

Добавить комментарий

Навигация:

Похожие

21437004-cf3d-4d35-aa13-82183efb2955_11zon - IT photo №28678
39 2
02 Окт 2024

В $_GET отсутствуют utm_source, как получить метки в php

Многие сталкиваются с проблемой, когда UTM-метки не передаются полностью через $_GET или $_SERVER. Почему это происходит? Проблема кроется в особенностях парсинга URL. «Не могу получить все UTM-метки из адреса. utm_source и utm_medium обрезаются.» Решения Проверьте URL. Убедитесь, что все параметры правильно закодированы. Используйте parse_str. Эта функция поможет корректно разобрать строку запроса. Проверьте сервер. Некоторые настройки […]

PHPSEO
og_og_1556109592271718992-min - IT photo №28057
2777 8
28 Сент 2024

Как создать аккаунт в Google 2024?

Создание аккаунта Google — это первый шаг к персональным рекомендациям в ютуб и использованию гугл АПИ. В этой статье мы разберем, как легко и быстро создать свой аккаунт Google и обеспечить его безопасность. Зачем нужен Google аккаунт? Личный аккаунт Google открывает доступ к различным сервисам, включая Gmail, YouTube и Google Play. Вот какие возможности открываются […]

Google
fatores-de-ranqueamento-seo-2 - IT photo №28386
52 1
14 Апр 2024

PHP регулярка для удаления блока вместе с содержимым

В этой заметке покажу вам PHP код с использованием регулярных выражений для удаления блока вместе с его содержимым. Этот код выполняет следующие действия: preg_replace('/<li class="js-oglav-after js-oglav-psy".*?<\/li>/is', '', $content); — Удаляет все блоки <li> с классом "js-oglav-after js-oglav-psy" вместе со всем их содержимым из переменной $content. preg_replace('/<div style="padding: 30px 0 0 0".*?<\/div>/is', '', $content); — Удаляет […]

PHPSEOWordpress
1713081126_ms_chrome_tKr95u9sMx-min - IT photo №28384
46
14 Апр 2024

Код для удаления emoji в wordpress

WordPress по умолчанию включает поддержку эмодзи, для ускорения сайта их можно удалить. В этой статье мы рассмотрим, как удалить эмодзи в WordPress.   Для удаления эмодзи мы можем использовать несколько хуков и фильтров. Добавьте этот код в файл functions.php вашей темы или в плагина: Что делает код? remove_action('wp_head', 'print_emoji_detection_script', 7); — Удаляет скрипт, который обнаруживает […]

PHPWordpress
1713080563_ms_chrome_pepnRwEuKf-min - IT photo №28380
52
14 Апр 2024

Функция get_gravatar чтобы получить аватарку с gravatar в PHP.

Для вывода картинки с граватара нужно создать функцию, которая будет генерировать URL аватарки на основе email адреса пользователя. Вот пример такой функции: Разберем эту функцию: $email — email адрес пользователя, для которого мы хотим получить аватарку. $size — размер аватарки в пикселях (от 1 до 2048). $default — URL изображения, если не найдена аватарка на […]

PHPWordpress
wpml-min - IT photo №28373
82 3
10 Апр 2024

Полезные функции для работы с WPML

Если не найдете ответ — пишите комментарий, разберу вашу проблему и добавлю решение! Сменить текущий язык сайта в коде После действий на новом языке, не забудьте вернуть прежний язык при помощи кода в следующей подсказке. Получить текущий активный язык Используйте перед изменением текущего языка в циклах, чтобы вернуть его в конце. Получить оригинальный язык Получить […]

PHPWPML