테스트 사이트 - 개발 중인 베타 버전입니다

iso 8601 형식의 시간을 표준화 노출로? 바꾸는방법 채택완료

qoqofh 4년 전 조회 1,887

iso 8601 형식의 시간을 

 

시 분 초 또는 00::00:00 이렇게 변환하는 방법을 참고할만한곳이 있을까요?

 

현재 

 

PT5M15S

 

이런식으로 뜨고있는상태인데... 방법이 너무 어려워서요 ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
M
4년 전

</p>

<p>$data = "PT15M51S";</p>

<p>preg_match_all("/\d+/", $data , $matches);</p>

<p>$matches = $matches[0];</p>

<p>$tmp_min = $matches[0];</p>

<p>$data2 = array();</p>

<p>$data2['H'] = sprintf('%02d',floor($tmp_min/60));</p>

<p>$data2['i'] = sprintf('%02d',$tmp_min%60);</p>

<p>$data2['s'] = sprintf('%02d',$matches[1]);</p>

<p>echo $data2['H'].':'.$data2['i'].':'.$data2['s'];</p>

<p>print_r($data2);</p>

<p>

참조하세요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

q
qoqofh
4년 전
[code]
<?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]

이거랑은 완전히 다른건가요..?

댓글을 작성하려면 로그인이 필요합니다.

https://en.wikipedia.org/wiki/ISO_8601#Durations

말씀하시는 표시는 날짜 시간이 아니라

기간에 대한 표시입니다.

 

https://stackoverflow.com/questions/3721085/parse-and-create-iso-8601-date-and-time-intervals-like-pt15m-in-php

https://www.php.net/manual/en/dateinterval.construct.php

$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"; ?>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인