커뮤니티
썸머타임 관련 답변인데요, 해석 부탁드릴게요
2019-08-20 13:42:31
342
글번호 131275
var : cnt(0),count(0),nday(0),month(0),DJ(0),JD(0),DW(0);
var : summer(false);
nday = sdate%100;
month = int(date/100)-int(date/10000)*100;#월
count = 0;
for cnt = 0 to nday-1
{
DJ = DateToJulian(sdate);
JD = JulianToDate(DJ-cnt);
DW = DayOfWeek(JD);
if DW == 0 Then
count = count+1;
}
if month == 3 and count == 2 Then
summer = true;
if month == 11 and count == 1 Then
summer = false;
plot1(iff(summer == true,1,0));
썸머타임 관련 답변글인데, 각 줄마다 해석좀 부탁드릴게요
매뉴얼을 함께 참고하여도 잘 모르겠네요..
답변 1
예스스탁 예스스탁 답변
2019-08-20 16:12:23
안녕하세요
예스스탁입니다.
var : cnt(0),count(0),nday(0),month(0),DJ(0),JD(0),DW(0);
var : summer(false);
#날짜(YYYYNNDDD)에서 일자(DD)만 분리
#20190411을 100으로 나누어 나머지를 취하면 11(일)이 남음
nday = sdate%100;
#날짜(YYYYNNDDD)에서 일자(MM)만 분리
#20190411을 100으로 나누어 정수만 취하면 201904,
#20190411을 10000으로 나누어 정수만 취하면 2019고 다시 100을 곱하면 201900
#201904-201900 = 4
month = int(date/100)-int(date/10000)*100;#월
#cpount 현재부터 이번달 1일 사이에 일요일의 갯수를 카운트해 저장하기 위한 변수이고
#for문 전에 0으로 초기화
count = 0;
# 0(현재일자)부터 1씩 nday-1전(이번달1일)
for cnt = 0 to nday-1
{
#현재 날짜를 현재 줄리안데이트(19000101부터경과된일수)로 바꿈
DJ = DateToJulian(sdate);
#현재 줄리안데이트에서 0~nday-1만큼 날짜수를 차감하면서
#그때의 날짜를 다시를 구함
JD = JulianToDate(DJ-cnt);
#날짜를 지정해 요일값을 리턴
DW = DayOfWeek(JD);
#요일이 일요일(0)이면
#카운트 증가
if DW == 0 Then
count = count+1;
}
#3월이고 2번째 일요일이면 썸머는 true
if month == 3 and count == 2 Then
summer = true;
#11월이고 1번째 일요일이면 썸머는 false
if month == 11 and count == 1 Then
summer = false;
plot1(iff(summer == true,1,0));
즐거운 하루되세요
> 퀀트드래곤 님이 쓴 글입니다.
> 제목 : 썸머타임 관련 답변인데요, 해석 부탁드릴게요
> var : cnt(0),count(0),nday(0),month(0),DJ(0),JD(0),DW(0);
var : summer(false);
nday = sdate%100;
month = int(date/100)-int(date/10000)*100;#월
count = 0;
for cnt = 0 to nday-1
{
DJ = DateToJulian(sdate);
JD = JulianToDate(DJ-cnt);
DW = DayOfWeek(JD);
if DW == 0 Then
count = count+1;
}
if month == 3 and count == 2 Then
summer = true;
if month == 11 and count == 1 Then
summer = false;
plot1(iff(summer == true,1,0));
썸머타임 관련 답변글인데, 각 줄마다 해석좀 부탁드릴게요
매뉴얼을 함께 참고하여도 잘 모르겠네요..