일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- burp suite
- 메소드
- 파이썬
- 배열
- 자바스크립트
- 사칙연산
- element 조회
- xss game 풀이
- 조건문
- 김성엽 대표님
- sql injection
- suninatas 풀이
- blind sql injection
- Pwndbg
- 백준 파이썬
- 백준 알고리즘
- 함수
- 객체
- object
- window
- IF문
- property
- 포인터
- github
- htmlspecialchars
- jQuery
- python
- xss game
- lord of sql injection
- document
Archives
- Today
- Total
power-girl0-0
Youtube 재생시간 구하기 본문
728x90
생활코딩 웹브라우저 javascript를 참고하여 공부하였습니다.
스스로 공부한 것을 정리하고 복습하기 위한 목적으로 작성하였습니다.
( 출처 : https://opentutorials.org/course/743inf.run/pBzy )
유튜브로 여러 강의를 볼 때를 가정해보자.
여러 강의의 총 시간이 얼마인지 계산해보고 싶을 때가 있기 마련이다.
그 때, 아래와 같은 코드를 사용하면 된다!!^_^
실습한 유튜브 사이트는 아래와 같다.
https://www.youtube.com/playlist?list=PLuHgQVnccGMA0lO0qip6Phh6UL73TS0es
실습 연습을 하고 싶다면, 아래 주소를 사용하면 된다.
https://jsbin.com/menuziqute/1/edit?html,output
var times = document.querySelectorAll('.pl-video .pl-video-time .timestamp span');
/* 각 동영상의 시간을 가져오기 위한 구문으로,
pl-video라는 클래스의 하위에 pl-video-time 클래스 하위의 timestamp클래스 안에서
span 태그라는 값들을 가져와서 times라는 변수 안에 유사 배열 형식으로 가져온 값을 대입한다.*/
var duration = 0; // 시간의 합을 구하기 위한 변수로, 초기화한 것이다.
for(var i=0; i<times.length; i++){ // 구하고자 하는 영상의 시간을 모두 합치기 위한 반복문이다.
var t = times[i]; // 각 동영상의 시간을 변수 t에 대입한다.
t = t.innerText; // 태그를 뺀 문자열만 t변수에 담아준다. 즉, 각 동영상 시간만 가져온다.
t = t.split(':') // 분:초 형식으로 저장되어 있기 때문에 split을 사용하여 시간과 분을 구별한다.
min = t[0]; // 분만 min변수에 넣는다.
sec = t[1]; // 초만 sec변수에 넣는다.
duration = duration + parseInt(sec) + parseInt(min)*60
/* 동영상 시간을 합쳐주는 구문으로,
sec과 min앞에 parseInt를 바꾸는 이유는 문자열로 저장된 분과 시간을 숫자로 바꿔주는 것이다.
또한, min에 60을 곱한 이유는 초로 바꿔서 duration변수에 동영상의 시간을 초로 저장하기 위해서이다.*/
}
console.log(duration/60/60);
/* 총 시간을 초로 구했기 때문에 60을 나눠서 시간으로 바꿔준다.
60을 한 번 나누면 분을 구하게 된다.*/
[ 실행 결과 ]
위와 같이 총 17시간인 것을 알 수 있다.
728x90
'언어 > Javascript' 카테고리의 다른 글
ES6 : 객체 (0) | 2021.02.15 |
---|---|
ES6 : 문자열 표현 (0) | 2021.02.15 |
jQuery Ajax (0) | 2021.02.10 |
JSON (0) | 2021.02.10 |
Ajax (XMLHttpRequest) (0) | 2021.02.10 |
Comments