모듈:이스터/샌드박스
Module| 모듈에 대한 모듈 샌드박스 페이지입니다.부활절(diff). 테스트 사례(실행)는 동반자 하위 페이지도 참조하십시오. |
부활절을 기준으로 부활절 날짜 및 날짜를 계산하는 모듈.
Calculate
부활절과 관련된 이벤트의 부활절 날짜 또는 날짜를 계산하는 함수입니다.
논쟁들
| 들판 | 목적 | 인수 예제 |
|---|---|---|
| 1 | 연도 | 2023또는1882 |
| 방법 | 부활절 날짜의 계산 방법:
| Eastern부활절 날짜를 정교회 의식에서 계산하는 것. |
| 낮의 | 부활절 날짜 또는 부활절 일요일 이전(음) 또는 이후(양)의 정수 일 수와 관련된 이벤트 이름.이름별로 사용 가능한 날짜는 다음과 같습니다.
| 49또는 바꿀 수 없이Pentecost |
| 서식을 | 최종 출력의 날짜 형식을 설명합니다. 이 형식은 #time parser 함수에서 사용된 것과 동일합니다.기본 형식:Y-m-d특별한 가치가 있습니다.none최종 날짜 형식을 지정할 수 없습니다. | j xd |
예
{{#invoke:Easter Calculate {{CURRENTYEAR}}}}- 2023-04-09
{{#invoke:Easter Calculate {{CURRENTYEAR}} method=Eastern}}- 2023-04-16
{{#invoke:Easter Calculate {{CURRENTYEAR}} format=[[j xg]]}}- 4월 9일
{{#invoke:Easter Calculate {{CURRENTYEAR}} method=Eastern format=[[j xg]]}}- 4월 16일
{{#invoke:Easter Calculate {{CURRENTYEAR}} day=Ash Wednesday}}- 2023-02-22
{{#invoke:Easter Calculate {{CURRENTYEAR}} method=Eastern day=Ash Wednesday}}- 2023-03-01
{{#invoke:Easter Calculate {{CURRENTYEAR}} format=[[j xg]] (l) day=Ash Wednesday}}- 2월 22일 (수요일)
{{#invoke:Easter Calculate {{CURRENTYEAR}} method=Eastern format=[[j xg]] (l) day=Ash Wednesday}}- 3월 1일 (수요일)
현지의 m = {} 현지의 이스터 데이터 = { 기본 메서드 = 3, 부활절 유형이 지정되지 않은 경우 부활절 날짜 계산의 기본 방법 기본 형식 = "Y-m-d", 기본 날짜 출력 형식 형식 없음 = "스캐너덜너덜, 최종 날짜 형식 지정 방지 기본 간격띄우기 = 0, 부활절 날짜 최소 간격띄우기 = -63, 셉투아게스 섬 최대 오프셋 = 69, 성모 마리아의 순결한 마음의 축일 API api이스터 = "계산", 공용 기능 이름 argEaster연도 = 1, 연도가 있는 인수의 인덱스 또는 이름 argEaster 메서드 = "스캐너덜너덜, 계산 방법이 있는 인수의 인덱스 또는 이름 argEaster 간격띄우기 = "일", 계산된 부활절 일요일을 기준으로 오프셋이 있는 인수의 인덱스 또는 이름 argEaster 형식 = "형식", 날짜 출력 형식(#time style)을 가진 인수의 인덱스 또는 이름 오류들 오류누락연도 = "필수 인수 '년' 누락", errorInvalid연도 = "잘못된 인수 'year': '%s'", 오류잘못된 오프셋 = "잘못된 인수 'day': '%s'", 잘못된 메서드 오류 = "잘못된 인수 'method': '%s'", 오류 연도가 범위를 벗어남 = "동부 날짜는 326년에서 4099년 사이에 사용할 수 있습니다. 연도: %d", 오류잘못된 메서드 = "서구 또는 정교회 부활절은 1583년부터 존재합니다; 연도: %d", 오류알 수 없는 메서드 = "알 수 없는 메서드: %d", 방법들 = { ["줄리안"] = 1, ["동쪽"] = 2, ["정통"] = 2, 동양의 별칭 ["콥트어"] = 2, 동양의 별칭 ["에티오피아어"] = 2, 동양의 별칭 ["서부"] = 3, ["그레고리안"] = 3, 서양의 별칭 ["로맨"] = 3, 서양의 별칭 }, 1923년부터 일부 정교회에서 사용한 멜레티아 달력/개정 율리우스력 제안된 수정된 알고리즘은 지원되지 않습니다(아직). * 예루살렘 자오선에서 천문학적으로 관찰된 니케아 통치 (알레포 1997 제안), 그레고리안과는 다릅니다. * 일년 중 15일 일요일 : 일년 중 099-105일 일요일 * 4월 둘째 주 토요일 이후 일요일(영국): 4월 9일~15일 일요일 * 4월 둘째 일요일 : 4월 8일~14일 일요일 * 4월 6일 이후의 일요일 (페푸자이트 종파):4월 7일~13일 일요일 * 세계 달력: 099일, 그레고리력/율리우스력으로 요일을 지정합니다. * 양력: 098일, 그레고리력/율리우스력으로 요일 중 임의의 요일 * ISO 14주차 일요일: 099-105일 중 일요일 * ISO 15주차 일요일: 106-112일 중 일요일 * 니산 14: 일주일 중 아무 요일이나 * 니산 15: 일주일 중 아무 요일이나 상대 날짜 = { ["Septuagesima"] = -63, [스가게시마] = -56, ["뚱뚱한 목요일"] = -52, [Quinquagesima] = -49, 에스토미히, 슈로브 선데이 ["Shrove Monday] = -48, 로즈 먼데이 ["Shrove Tuesday"] = -47, 마디그라, 카니발 ["재의 수요일"] = -46, ["Laetare Sunday"] = -21, ["팜 선데이"] = -7, ["거룩한 수요일"] = -4, ["문디 목요일"] = -3, ["굿 프라이데이"] = -2, 십자가형 ["거룩한 토요일"] = -1, ["이스터"] = 0, 부활절 일요일, 부활 ["이스터 먼데이"] = 1, ["신의 자비"] = 7, [승천의 목요일] = 39, 어센션 ["펜테코스트"] = 49, 휘트슨 [트리니티 선데이] = 56, ["코르푸스 크리스티"] = 60, 그리스도의 몸과 피 ["신성한 마음"] = 68, ["무결한 마음"] = 69, }, } 현지의 기능. formatEasterError(메세지, ...) 한다면 선택한다.('#', ... ) > 0 그리고나서 메세지 = string.형식(메세지, ...) 끝. 돌아가다 "<span class=\"오류\">" .. 메세지 .. "</span>" 끝. 현지의 기능. 로드 이스터연도(연도) 한다면 것은 아니다. 연도 그리고나서 돌아가다 거짓의, formatEasterError(이스터 데이터.오류누락연도) 끝. 현지의 결과 = 수에 달하여(연도) 한다면 것은 아니다. 결과 또는 수학.플로어(결과) ~= 결과 그리고나서 돌아가다 거짓의, formatEasterError(이스터 데이터.errorInvalid연도, 연도) 끝. 돌아가다 진실의, 결과 끝. 현지의 기능. loadEaster 메서드(방법, 연도) 현지의 결과 = 이스터 데이터.기본 메서드 한다면 방법 그리고나서 결과 = 이스터 데이터.방법들[방법] 한다면 것은 아니다. 결과 그리고나서 돌아가다 거짓의, formatEasterError(이스터 데이터.잘못된 메서드 오류, 방법) 끝. 끝. 한다면 연도 < 1583 그리고나서 결과 = 1 끝. 돌아가다 진실의, 결과 끝. 현지의 기능. loadEaster 간격띄우기(낮의) 한다면 것은 아니다. 낮의 그리고나서 돌아가다 진실의, "" 끝. 현지의 데이터. = 이스터 데이터.상대 날짜 현지의 상쇄하다 = 수에 달하여(낮의) 한다면 것은 아니다. 상쇄하다 그리고나서 상쇄하다 = 데이터.[낮의] 끝. 한다면 것은 아니다. 상쇄하다 또는 상쇄하다 ~= 수학.플로어(상쇄하다) 또는 상쇄하다 < 이스터 데이터.최소 간격띄우기 또는 상쇄하다 > 이스터 데이터.최대 오프셋 그리고나서 돌아가다 거짓의, formatEasterError(이스터 데이터.오류잘못된 오프셋, 낮의) 끝. 한다면 상쇄하다 < -1 그리고나서 돌아가다 진실의, string.형식(%d일", 상쇄하다) 그렇지 않으면 상쇄하다 == -1 그리고나서 돌아가다 진실의, -1일" 그렇지 않으면 상쇄하다 == 0 그리고나서 돌아가다 진실의, "" 그렇지 않으면 상쇄하다 == 1 그리고나서 돌아가다 진실의, +1일" 또 다른 오프셋이 1보다 클 경우 돌아가다 진실의, string.형식(+%d일", 상쇄하다) 끝. 끝. 현지의 기능. 부활절 형식 로드(fmt) 한다면 fmt == 이스터 데이터.형식 없음 그리고나서 돌아가다 진실의, 영의 그렇지 않으면 것은 아니다. fmt 그리고나서 돌아가다 진실의, 이스터 데이터.기본 형식 또 다른 돌아가다 진실의, fmt 끝. 끝. --[[ 목적:이 함수는 부활절 일요일을 일월로 반환합니다. 지정된 연도 및 방법에 대해 설명합니다. 입력:연도 - 326년에서 4099년 사이의 연도. 방법 - 1 = 원래 계산은 다음을 기준으로 합니다. 율리우스력 2 = 원래 계산(사용) 로 변환된 Julian 날짜 등가 그레고리력 3 = 다음을 기준으로 계산을 수정했습니다. 그레고리력 출력:없음. RETURN: 0, 오류 메시지 - 오류, 잘못된 인수 월, 일 - 월 및 일 주의: 이 코드는 DN OSP 6.4.0 소스에서 변환됩니다. 코드의 루트는 다음에서 찾을 수 있습니다. http://www.gmarts.org/index.php?go=415 원본 참고 사항: 이 알고리즘은 산술적 해석입니다. 개발된 3단계 부활절 데이트 방법의 1985년 론 말렌에 의해, 에 대한 대대적인 개선으로서. 공동 기도서에 기술된 방법 1988년 오스트레일리아 연감 발행 이 출판물 또는 캔버라 도서관을 참조하십시오. 사용된 방법에 대한 명확한 이해를 위해. 왜냐하면 이 알고리즘은 다음의 직접적인 번역이기 때문입니다. 공식 테이블, 그것은 쉽게 증명될 수 있습니다. 100% 정확한 무료입니다!코드나 주석을 수정하지 마십시오! ]] 현지의 기능. 부활절 날짜 계산(연도, 방법) 한다면 연도 < 326 또는 연도 > 4099 그리고나서 부활절 날짜는 326년에서 4099년 사이에 유효합니다. 방법 2는 이후 6월 날짜를 지원해야 합니다. 돌아가다 0, formatEasterError(이스터 데이터.오류 연도가 범위를 벗어남, 연도) 끝. 한다면 연도 < 1583 그리고. 방법 ~= 1 그리고나서 서양 또는 정교회 부활절은 1583년부터 유효합니다. 돌아가다 0, formatEasterError(이스터 데이터.오류잘못된 메서드, 연도) 끝. 중간 결과 현지의 퍼스트 디그 = 수학.플로어(연도 / 100) 현지의 19세로 남음 = 연도 % 19 현지의 임시의 = 0 표 A에서 E까지의 결과 현지의 tA = 0 현지의 TB = 0 현지의 TC = 0 현지의 tD = 0 현지의 tE의 = 0 부활절 일요일 현지의 d = 0 한다면 방법 == 1 또는 방법 == 2 그리고나서 PFM 날짜 계산 tA = ((225 - 11 * 19세로 남음) % 30) + 21 다음 일요일을 찾습니다. TB = (tA - 19) % 7 TC = (40 - 퍼스트 디그) % 7 임시의 = 연도 % 100 tD = (임시의 + 수학.플로어(임시의 / 4)) % 7 tE의 = ((20 - TB - TC - tD) % 7) + 1 d = tA + tE의 한다면 방법 == 2 그리고나서 율리우스력을 그레고리력으로 환산함 그레고리력으로 1582년 10월 5일부터 14일까지 10일을 건너뛰었습니다. 임시의 = 10 그레고리력으로 4세기마다 1년만 윤년입니다. 달력(율리우스력에서 매 세기는 윤년) 한다면 연도 > 1600 그리고나서 임시의 = 임시의 + 퍼스트 디그 - 16 - 수학.플로어((퍼스트 디그 - 16) / 4) 끝. d = d + 임시의 끝. 그렇지 않으면 방법 == 3 그리고나서 PFM 날짜 계산 임시의 = 수학.플로어((퍼스트 디그 - 15) / 2) + 202 - 11 * 19세로 남음 한다면 퍼스트 디그 > 26 그리고나서 임시의 = 임시의 - 1 끝. 한다면 퍼스트 디그 > 38 그리고나서 임시의 = 임시의 - 1 끝. 한다면 퍼스트 디그 == 21 또는 퍼스트 디그 == 24 또는 퍼스트 디그 == 25 또는 퍼스트 디그 == 33 또는 퍼스트 디그 == 36 또는 퍼스트 디그 == 37 그리고나서 임시의 = 임시의 - 1 끝. 임시의 = 임시의 % 30 tA = 임시의 + 21 한다면 임시의 == 29 그리고나서 tA = tA - 1 끝. 한다면 임시의 == 28 그리고. 19세로 남음 > 10 그리고나서 tA = tA - 1 끝. 다음 일요일을 찾습니다. TB = (tA - 19) % 7 TC = (40 - 퍼스트 디그) % 4 한다면 TC == 3 그리고나서 TC = TC + 1 끝. 한다면 TC > 1 그리고나서 TC = TC + 1 끝. 임시의 = 연도 % 100 tD = (임시의 + 수학.플로어(임시의 / 4)) % 7 tE의 = ((20 - TB - TC - tD) % 7) + 1 d = tA + tE의 또 다른 알 수 없는 방법 돌아가다 0, formatEasterError(이스터 데이터.오류알 수 없는 메서드, 방법) 끝. 한다면 d > 61 그리고나서 원래의 계산을 그레고리력으로 환산할 때. 달력, 부활절 일요일은 5월에 발생할 수 있습니다. 돌아가다 5, d - 61 그렇지 않으면 d > 31 그리고나서 돌아가다 4, d - 31 또 다른 돌아가다 3, d 끝. 끝. 현지의 기능. 부활절(논병아리) 현지의 네 알겠습니다 현지의 연도 네 알겠습니다, 연도 = 로드 이스터연도(논병아리[이스터 데이터.argEaster연도]) 한다면 것은 아니다. 네 알겠습니다 그리고나서 돌아가다 연도 끝. 현지의 방법 네 알겠습니다, 방법 = loadEaster 메서드(논병아리[이스터 데이터.argEaster 메서드], 연도) 한다면 것은 아니다. 네 알겠습니다 그리고나서 돌아가다 방법 끝. 현지의 상쇄하다 네 알겠습니다, 상쇄하다 = loadEaster 간격띄우기(논병아리[이스터 데이터.argEaster 간격띄우기]) 한다면 것은 아니다. 네 알겠습니다 그리고나서 돌아가다 상쇄하다 끝. 현지의 서식을 네 알겠습니다, 서식을 = 부활절 형식 로드(논병아리[이스터 데이터.argEaster 형식]) 한다면 것은 아니다. 네 알겠습니다 그리고나서 돌아가다 서식을 끝. 현지의 달, 낮의 = 부활절 날짜 계산(연도, 방법) 한다면 달 == 0 그리고나서 돌아가다 낮의 끝. 현지의 결과 = string.형식(%04d-%02d-%02d%s", 연도, 달, 낮의, 상쇄하다) 한다면 서식을 그리고나서 결과 = mw.언어.콘텐츠 언어 가져오기():formatDate(서식을, 결과) 끝. 돌아가다 결과 끝. m[이스터 데이터.api이스터] = 기능. (틀) 돌아가다 부활절(틀.논병아리) 끝. 돌아가다 m 