틀:날짜변환
그레고리력 날짜를 입력 받아서 지정한 형식으로 출력하는 틀입니다. 이 틀은 첫째 매개변수로 날짜를, 둘째 매개변수로 출력될 형식을, 셋째 매개변수로 링크 생성 여부를 입력받습니다.
사용법
[편집]간단한 사용법
[편집]다음과 같이 쓰면 문서에 지정한 연월일이 표시됩니다. (예:2000년 1월 23일)
입력 | {{날짜변환|2000-01-23}}
|
---|---|
결과 | 2000년 1월 23일 |
연월일에 링크를 걸 수 있습니다.
입력 | {{날짜변환|2000-01-23|링크}}
|
---|---|
결과 | 2000년 1월 23일 |
날짜 매개변수 없이 풀어 쓰면 자동으로 현재 날짜가 입력됩니다.
입력 | {{풀기:날짜변환}}
|
---|---|
결과 | 2024년 12월 3일 |
매개변수 사용
[편집]이 틀에서 사용하는 매개변수는 다음과 같습니다.
{{날짜변환 | (날짜 입력) | (출력 형식) | (링크 여부)}}
|
- 첫째 매개변수로는 날짜를 입력합니다. 필수 사항. 날짜 입력 형식과 범위 문단 참고.
- 둘째 매개변수로 출력 형식을 지정합니다. 생략 가능. 출력 형식 지정 문단 참고.
- 셋째 매개변수에
링크
를 넣으면 출력되는 날짜에 링크가 걸립니다. 둘째 매개변수에서 출력 형식을 생략할 경우 둘째에링크
를 넣어도 됩니다. 날짜에 링크 생성 문단 참고.
날짜 입력 형식과 범위
[편집]날짜 입력 형식
[편집]기본 입력 형식은 YYYY-MM-DD
형식(연도 4자리-월 2자리-일 2자리)입니다. 입력 가능한 모든 형식은 다음 표와 같습니다. 인식하지 못하는 형식으로 입력할 경우 링크나 출력 형식이 적용되지 않고 입력한 그대로 출력됩니다.
입력 형식 | 예시 | 비고 |
---|---|---|
YYYY-MM-DD |
2000-01-23 | 권장. 인식에 드는 서버 부하가 가장 작음. |
YYYY-MM |
2000-01 | 이 형식으로 입력하면 출력시 일자가 생략됨. |
YYYY |
2000 | 이 형식으로 입력하면 출력시 월, 일이 생략됨. |
YYYY년 M월 D일 |
2000년 1월 23일 | 인식에 드는 서버 부하가 큼. |
YYYY년M월D일 |
2000년1월23일 | |
YYYY년 M월 |
2000년 1월 | 인식에 드는 서버 부하가 큼. 출력시 일자가 생략됨. |
YYYY년M월 |
2000년1월 | |
YYYY년 |
2000년 | 출력시 월, 일이 생략됨. |
YYYY. M. D. |
2000. 1. 23. | 인식에 드는 서버 부하가 큼. 맨 끝의 점까지 입력해야 인식함. |
YYYY.M.D. |
2000.1.23. | |
YYYY. M. |
2000. 1. | 인식에 드는 서버 부하가 큼. 맨 끝의 점까지 입력해야 인식함. 출력시 일자가 생략됨. |
YYYY.M. |
2000.1. | |
YYYY. |
2000. | 출력시 월, 일이 생략됨. |
※위 형식에서 MM
을 M
으로, DD
를 D
로 바꾸어 쓸 수 있습니다. 그 반대도 됩니다. 단, MM
과 D
조합이나 M
과 DD
조합은 쓸 수 없습니다.
날짜 입력 범위
[편집]입력할 수 있는 날짜 범위는 1000년 1월 1일부터 9999년 12월 31일까지입니다. 기원전 1년~ 기원후 999년 범위도 입력 및 출력이 가능하긴 하나 제한점이 있습니다(기술적 내용 문단 참조).
다음 날짜를 입력하면 링크나 출력 형식이 적용되지 않고 입력한 그대로 출력됩니다.
- 윤년이 아닌 해의 2월 29일.
- 과거 율리우스력으로 윤년이었으나 현대 그레고리력으로 윤년이 아닌 해의 2월 29일(예:1500년 2월 29일).
- 그 달에 없는 일자(예:4월 31일).
출력 형식 지정
[편집]출력 형식으로 지정할 수 있는 값은 다음과 같습니다.
지정 값 | 출력 | 비고 |
---|---|---|
연월일 형식 출력 | ||
YYYY년 M월 D일 | (값 미지정) 일자를 입력한 경우. | |
YYYY년 M월 | (값 미지정) 일자를 입력하지 않은 경우. | |
YYYY년 | (값 미지정) 월을 입력하지 않은 경우. | |
연월 | YYYY년 M월 | 월을 입력한 경우. |
YYYY년 | 월을 입력하지 않은 경우. | |
월일 | M월 D일 | 일자를 입력한 경우. |
M월 | 일자를 입력하지 않은 경우. | |
월을 입력하지 않은 경우(출력 없음). | ||
연 | YYYY년 | |
월 | M월 | 월을 입력한 경우. |
월을 입력하지 않은 경우(출력 없음). | ||
일 | D일 | 일자를 입력한 경우. |
일자를 입력하지 않은 경우(출력 없음). | ||
점 형식 출력 | ||
점 | YYYY. M. D. | 일자를 입력한 경우. |
YYYY. M. | 일자를 입력하지 않은 경우. | |
YYYY. | 월을 입력하지 않은 경우. | |
점연월 | YYYY. M. | 월을 입력한 경우. |
YYYY. | 월을 입력하지 않은 경우. | |
점월일 | M. D. | 일자를 입력한 경우. |
M. | 일자를 입력하지 않은 경우. | |
월을 입력하지 않은 경우(출력 없음). | ||
점연 | YYYY. | |
점월 | M. | 월을 입력한 경우. |
월을 입력하지 않은 경우(출력 없음). | ||
점일 | D. | 일자를 입력한 경우. |
일자를 입력하지 않은 경우(출력 없음). | ||
ISO 8601 형식 출력 | ||
iso | YYYY-MM-DD | 일자를 입력한 경우. |
YYYY-MM | 일자를 입력하지 않은 경우. | |
YYYY | 월을 입력하지 않은 경우. | |
iso연월 | YYYY-MM | 월을 입력한 경우. |
YYYY | 월을 입력하지 않은 경우. | |
iso연 | YYYY |
※'연' 대신 '년'을 넣거나 'iso' 대신 'ISO'를 넣어도 올바르게 동작합니다.
날짜에 링크 생성
[편집]셋째 매개변수에 링크
문자열을 넣으면 각 연월일에 링크가 생성됩니다. 출력 형식을 생략할 경우 둘째 매개변수에 문자열을 넣어도 동작합니다. 생성되는 링크는 다음과 같습니다.
- 연도에는 [[YYYY년]]
- 월에는 [[YYYY년 M월]] (단, 연도가 생략된 출력에서는 [[M월]])
- 일에는 [[M월 D일]]
사용 예
[편집]날짜만 넣으면 기본값으로 'YYYY년 M월 D일' 형식으로 출력됩니다. 단, 월이나 일자를 입력하지 않으면 각각 'YYYY년' 또는 'YYYY년 M월' 형식으로 출력됩니다.
입력 | 결과 |
---|---|
{{날짜변환|2000-01-23}} |
2000년 1월 23일 |
{{날짜변환|2000-01}} |
2000년 1월 |
{{날짜변환|2000}} |
2000년 |
날짜 다음 매개변수로 출력 형식을 지정하고 특정 요소를 생략할 수 있습니다.
입력 | 결과 |
---|---|
{{날짜변환|2000-01-23|연월}} |
2000년 1월 |
{{날짜변환|2000-01-23|일}} |
23일 |
{{날짜변환|2000-01-23|점}} |
2000. 1. 23. |
{{날짜변환|2000-01-23|점월일}} |
1. 23. |
{{날짜변환|2000-01-23|iso}} |
2000-01-23 |
{{날짜변환|2000-01-23|iso연}} |
2000 |
월이나 일자를 입력하지 않으면 출력에서 지정해도 생략됩니다.
입력 | 결과 |
---|---|
{{날짜변환|2000-01}} |
2000년 1월 |
{{날짜변환|2000-01|월일}} |
1월 |
{{날짜변환|2000-01|일}} |
|
{{날짜변환|2000|연월}} |
2000년 |
{{날짜변환|2000|월일}} |
날짜 다음, 또는 출력 형식 다음 매개변수로 '링크'를 넣으면 링크가 생깁니다.
입력 | 결과 |
---|---|
{{날짜변환|2000-01-23|링크}} |
2000년 1월 23일 |
{{날짜변환|2000-01-23|연|링크}} |
2000년 |
{{날짜변환|2000-01-23|점연월|링크}} |
2000. 1. |
{{날짜변환|2000-01-23|iso|링크}} |
2000-01-23 |
월일 또는 월 형식 출력에서는 월 링크에 연도가 들어가지 않습니다.
입력 | 결과 |
---|---|
{{날짜변환|2000-01-23|월일|링크}} |
1월 23일 |
{{날짜변환|2000-01-23|점월|링크}} |
1. |
한글로 쓴 날짜, 연월일을 점으로 쓴 날짜도 인식 가능합니다. 그러나 인식에 소모되는 서버 부하가 YYYY-MM-DD 형식에 비해 조금 더 크므로 사용을 권장하지는 않습니다.
이 형식은 연월일 사이를 모두 붙이거나 모두 뗀 경우만 인식합니다. 점 형식은 맨 끝의 점까지 써야 합니다. 인식하지 못하는 경우 링크나 출력 형식이 적용되지 않고 입력한 그대로 출력됩니다.
입력 | 결과 |
---|---|
{{날짜변환|2000년1월23일|링크}} |
2000년 1월 23일 |
{{날짜변환|2000. 01. 23.|링크}} |
2000년 1월 23일 |
{{날짜변환|2000년 01월|점|링크}} |
2000. 1. |
{{날짜변환|2000.1.|점|링크}} |
2000. 1. |
{{날짜변환|2000년|iso|링크}} |
2000 |
입력 | 결과 |
---|---|
{{날짜변환|2000년 1월23일|링크}} |
2000년 1월23일 |
{{날짜변환|2000년1월01일|링크}} |
2000년1월01일 |
{{날짜변환|2000. 1. 23|iso}} |
2000. 1. 23 |
틀을 풀어서 쓸 수도 있습니다.
입력 | 결과 |
---|---|
{{풀기:날짜변환|2000-01-23}} |
2000년 1월 23일 실제 입력되는 코드: 2000년 1월 23일
|
{{풀기:날짜변환|2000-01-23|링크}} |
2000년 1월 23일 실제 입력되는 코드: [[2000년]] [[2000년 1월|1월]] [[1월 23일|23일]]
|
{{풀기:날짜변환|2000-01-23|월|링크}} |
1월 실제 입력되는 코드: [[1월]]
|
풀어 쓰면서 날짜를 입력하지 않으면 현재 날짜가 자동으로 입력됩니다.
입력 | 결과 |
---|---|
{{풀기:날짜변환}} |
2024년 12월 3일 실제 입력되는 코드: 2024년 12월 3일
|
{{풀기:날짜변환||점월일|링크}} |
12. 3. 실제 입력되는 코드: [[12월|12.]] [[12월 3일|3.]]
|
날짜 자동 입력은 풀어 쓸 때에만 적용됩니다. 끼워넣으면서 날짜를 입력하지 않으면 오류가 발생합니다.
입력 | 결과 |
---|---|
{{날짜변환}} |
틀:오류 |
{{날짜변환||링크}} |
틀:오류 |
유의 사항
[편집]- 첫째 매개변수(날짜)를 입력하지 않으면 오류가 발생하고, 해당 글은 숨은 분류인 분류:날짜 매개변수 없이 날짜 틀이 쓰인 글에 들어갑니다. 단, 풀어 쓰면 오류 없이 현재 날짜를 출력합니다.
- 인식할 수 없는 날짜 입력 형식은 문자열 그대로 출력됩니다. 링크는 생성되지 않습니다.
기술적 내용
[편집]이 문단의 내용은 이 틀을 고치려는 사람과 이 틀을 다른 틀에서 메타 틀로 쓰려는 사람을 위한 것입니다.
- 기원전 1년(=0년)~ 기원후 999년 범위의 날짜를 입력하려면 연도 앞에 0을 붙여서
0100
같은 식으로 입력합니다. 단, 출력에서도 앞의 0이 표시되며, 연도·월 링크도 그렇게 되는 문제점이 있습니다.
- 틀 수정시에는 연도에 따라 #time 함수의 동작이 달라짐에 주의해야 합니다. 0년~99년, 100년~110년, 111년~1752년 등의 범위는 1753년 이후와 다르게 처리되는 경우가 있습니다. ParserFunctions(영어) 참고.
- 이전에 사용하던 방식인, 매개변수 '링크'의 값을 지정하는 방법도 사용 가능합니다. 매개변수 '링크'가 정의되고 빈 값이 아니면 링크로 출력합니다.
- 메타 틀이 많이 사용되었습니다. 이는 매개변수를 이용해 틀과 특수 함수의 중복 사용을 없애기 위함입니다. 틀의 중복 사용은 최소화하였으나 틀과 특수 함수의 확장(expansion)이 많이 일어납니다. 미디어위키에서 허용하는 최대 확장 깊이는 40단계인데 이 틀은 2011년 1월 17일 현재 버전에서 최대 약 10단계의 확장을 사용합니다.
- 이 틀을 메타 틀로 사용할 경우 위에서 언급한 확장 단계 문제 및 한글 날짜 입력 인식의 서버 부하를 고려해야 합니다. 이 틀은
YYYY-MM-DD
형식 입력을 받으면 가벼운 편이지만 한글 날짜 입력을 받으면 상당히 무겁습니다.
메타 틀
[편집]이 틀에서 사용하는 메타 틀입니다.
- {{날짜변환/출력}}
- {{날짜변환/연월일입력}}
- {{날짜변환/연월일입력/월}}
- {{날짜변환/연월일입력/일}}