커뮤니티

썸머타임 관련 답변인데요, 해석 부탁드릴게요

프로필 이미지
퀀트드래곤
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)); 썸머타임 관련 답변글인데, 각 줄마다 해석좀 부탁드릴게요 매뉴얼을 함께 참고하여도 잘 모르겠네요..