특정일이 휴일인지 알아보는 API > 자유게시판

자유게시판

특정일이 휴일인지 알아보는 API 정보

특정일이 휴일인지 알아보는 API

본문

2015년 2월 18일 넘겨주면 설날연휴이므로 휴일이야! 라고 나오는 것이 필요해서 관련 API를 검색하던차

 

SK텔레콤에서 제공하는 EventDay라는 API를 찾았습니다.

사용은 공짜로 되고 하루에 1만건까지 조회되는데, 어차피 휴일여부정보는 고정이기때문에 한번 가지고 온건 디비를 이용해서 저장하는 방식으로 관리하면 될 것 같습니다.

 

https://developers.sktelecom.com/content/tapi/EventDay/ 

여기가 홈페이지 주소이고, 회원가입후 프로젝트를 생성한뒤에, EventDay API를 신청하고, 키를 발급받고 (서버용) 아래의 제가 만든 함수를 이용해서 사용하시면 됩니다.

 

아래 함수에 대한 라이센스는 "알쯔는 멋지다!" 를 외치고 사용해주시면 됩니다. = _=;; ㅋㅋㅋㅋㅋ

 

function CheckHoliday($date) {

global $DB;

$check = $DB->getRow('holiday',"where `date`='$date'"); // 제가 만든 DB클래스이오니, 적당히 디비에 저장후 가져오는 로직을 넣읍시다.

if (isset($check['date']) == true) { // 디비에 있다면?

return $check['holiday'] == 'T';

} else { // 티비에 없다면,

$time = strtotime($date);

$ch = curl_init();

curl_setopt($ch,CURLOPT_URL,'https://apis.sktelecom.com/v1/eventday/days?type=h&year='.date('Y',$time).'&month='.date('m',$time).'&day='.date('d',$time));

curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);

curl_setopt($ch,CURLOPT_SSLVERSION,3);

curl_setopt($ch,CURLOPT_HEADER,0);

curl_setopt($ch,CURLOPT_POST,0);

curl_setopt($ch,CURLOPT_TIMEOUT,30);

curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

curl_setopt($ch,CURLOPT_HTTPHEADER,array(

'TDCProjectKey: [발급받은 KEY를 입력하세요]',

'Accept: application/json'

));

$result = curl_exec($ch);

curl_close($ch);

$data = json_decode($result);

if ($data->totalResult == 1) { // 휴일이다!

$DB->insert('holiday',array('date'=>$date,'holiday'=>'T','title'=>$data->results[0]->name));

return true;

} else { // 휴일이 아니다!

$DB->insert('holiday',array('date'=>$date,'holiday'=>'F'));

return false;

}

}

} 

 

if (CheckHoliday('2015-02-18') == true) echo '어머 휴일이네요~! 노세요~!';

추천
0

댓글 7개

영카트에 휴일구매시 2배 적립! 이런 이벤트를 할 수 있게된다구요!! =3=3 얼른 나머지 반 더 적고 쓰시도록 하세요. ㅎㅎ
전체 259 |RSS
자유게시판 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT