<script>
var getLCRiseSetInfocnt=0;
functiongetLCRiseSetInfo()
{
getLCRiseSetInfocnt++;
var today = new Date();
var year = today.getFullYear();
var month = today.getMonth() + 1; // 월은 0부터 시작하므로 1을 더해줍니다.
var day = today.getDate();
// 월과 일이 한 자리 숫자인 경우 앞에 0을 추가합니다.
month = month < 10 ? '0' + month : month;
day = day < 10 ? '0' + day : day;
var formattedDate = year + '' + month + '' + day;
console.log('오늘의 날짜: ' + formattedDate);
var encodedServiceKey = encodeURIComponent('서비스키값');
$.ajax({
url: 'http://apis.data.go.kr/B090041/openapi/service/RiseSetInfoService/getLCRiseSetInfo',
type: 'GET',
data: {
serviceKey: encodedServiceKey,
locdate: formattedDate,
longitude: '위도',
latitude: '경도',
dnYn: 'Y'
},
dataType: 'xml',
success: function(responseXml) {
console.log('Success:', responseXml);
// 서버 응답 성공 시 처리
var $xml = $(responseXml);
// 필요한 정보 추출
var sunrise = $xml.find('sunrise').text();
var sunset = $xml.find('sunset').text();
//var moonrise = $xml.find('moonrise').text();
//var moonset = $xml.find('moonset').text();
//실행n번째 결과
console.log('n번째 결과 :', getLCRiseSetInfocnt);
// 추출한 정보 출력 또는 다른 작업 수행
console.log('일출 : Sunrise:', sunrise);
console.log('일몰 : Sunset:', sunset);
//console.log('Moonrise:', moonrise);
//console.log('Moonset:', moonset);
//결과값을 받아왔으면 멈춘다.
if(sunrise!='')
{
checkAndStopInterval();
var Sunrise = formatTime(sunrise);
var Sunset = formatTime(sunset);
document.getElementById('Sunrise').innerText = Sunrise;
document.getElementById('Sunset').innerText = Sunset;
document.getElementById('mSunrise').innerText = Sunrise;
document.getElementById('mSunset').innerText = Sunset;
//ID값을 찾아 innerText로 값을 변경해준다.
}
},
error: function(error) {
console.log('Error:', error);
getLCRiseSetInfo();
// 서버 응답 에러 시 처리
}
});
}
//최초실행
getLCRiseSetInfo();
//3초마다 실행되게 한다.
var intervalId = setInterval(getLCRiseSetInfo, 3000);
//루프를 멈추게 한다.
functioncheckAndStopInterval() {
console.log('값을 받음');
clearInterval(intervalId);
}
function formatTime(timeString) {
// 앞에 0을 추가하여 4자리로 만들기
timeString = timeString.padStart(4, '0');
// 시간과 분으로 분리
var hours = timeString.slice(0, 2);
var minutes = timeString.slice(2);
// 포맷팅된 문자열 반환
return hours + ':' + minutes;
}
</script>