답변 2개 / 댓글 1개
채택된 답변
+20 포인트
MHfac
4년 전
Copy
$data = "PT15M51S";
preg_match_all("/\d+/", $data , $matches);
$matches = $matches[0];
$tmp_min = $matches[0];
$data2 = array();
$data2['H'] = sprintf('%02d',floor($tmp_min/60));
$data2['i'] = sprintf('%02d',$tmp_min%60);
$data2['s'] = sprintf('%02d',$matches[1]);
echo $data2['H'].':'.$data2['i'].':'.$data2['s'];
print_r($data2);
참조하세요.
답변에 대한 댓글 1개
qoqofh
4년 전
4년 전
https://en.wikipedia.org/wiki/ISO_8601#Durations
말씀하시는 표시는 날짜 시간이 아니라
기간에 대한 표시입니다.
https://www.php.net/manual/en/dateinterval.construct.php
<?php
$interval = new DateInterval('PT5M15S');
var_dump($interval);
$dateTime = new DateTime;echo $dateTime->format( DateTime::ISO8601 ), PHP_EOL;
$dateTime->add(new DateInterval("PT5M15S"));
echo $dateTime->format( DateTime::ISO8601 ), PHP_EOL;
$date = new DateTime('2000-01-01');
$date->add(new DateInterval('P10D'));
echo $date->format('Y-m-d') . "\n";
?>
답변을 작성하려면 로그인이 필요합니다.
<?php
$url = "https://www.googleapis.com/youtube/v3/videos?key=AIzaSyChIX-mH-aqWOsI_kdOZPhLuoh3Is4wEZk&part=snippet,contentDetails,statistics&id=".$list[$i]['wr_10'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$content = curl_exec($ch);
curl_close($ch);
$result = json_decode($content);
echo "<span class='bo_date'>출처 : ".$result->items[0]->snippet->channelTitle."</span><br><br>";
echo "<span class='bo_date'>동영상 길이 : ".$result->items[0]->contentDetails->duration."</span>";
?>
[/code]
이거랑은 완전히 다른건가요..?