모듈:날짜
Module:Date이 모듈은 다른 모듈에서 사용할 수 있는 날짜 기능을 제공한다.양력 및 율리우스력의 날짜는 BCE 9999년부터 9999CE까지 지원된다.그 달력은 촉각적이다. 그것들은 부정부패 없이 항상 적용되는 것으로 추정된다.
날짜는 선택적으로 다양한 형식으로 지정할 수 있으며, 예를 들어 2016년 4월 1일 또는 2016년 4월 1일 등 다양한 형식을 사용하여 표시할 수 있다.날짜의 속성은 율리우스 날짜와 그레고리우스 일련 날짜뿐만 아니라 요일과 요일을 포함한다.
날짜는 비교할 수 있다(예:date1 <= date2), 더하기 또는 빼기와 함께 사용할 수 있다(예:date + '3 months'). 두 날짜의 차이는 다음과 같이 결정할 수 있다.date1 - date2이 연산들은 그레고리우스와 율리우스력 둘 다와 함께 작동하지만date1 - date2만약 두 데이트가 다른 달력을 사용한다면 nil이다.
이 모듈은 다음과 같은 항목을 제공한다.
| 수출하다 | 설명 |
|---|---|
_current | 현재 연도, 월, 일, 시간, 분, 초가 표시된 표 |
_Date | 지정된 날짜에 대해 테이블을 반환하는 함수. |
_days_in_month | 월의 일수를 반환하는 함수. |
모듈 사용 예는 다음과 같다.
포맷된 출력
날짜는 텍스트로 포맷할 수 있다.
국부적 날짜 = 요구하다('모듈:날짜')._날짜 국부적 문자 메시지를 보내다 = 날짜(2016, 7, 1):문자 메시지를 보내다() -- 결과는 '2016년 7월 1일' 입니다. 국부적 문자 메시지를 보내다 = 날짜(2016, 7, 1):문자 메시지를 보내다('%-d %B') -- 결과는 '7월 1일' 입니다. 국부적 문자 메시지를 보내다 = 날짜('2016년 7월 1일'):문자 메시지를 보내다('mdy') -- 결과는 '2016년 7월 1일' 입니다. 다음과 같은 간단한 포맷 코드를 사용할 수 있다.
| 코드 | 결과 |
|---|---|
| 흐음 | 시간:분, "am" 또는 "pm" 또는 변종(지정된 경우, 14:30 또는 오후 2:30 또는 변종) |
| hms | 시간:분:초(14:30:45) |
| ymd | 년월일(2016-07-01) |
| 매디 | 월일, 연도(2016년 7월 1일) |
| Dmy | 일월년(2016년 7월 1일) |
다음과 같은 포맷 코드(스트립타임과 유사)를 사용할 수 있다.
| 코드 | 결과 |
|---|---|
| %a | 요일 약어:월, 투, ... |
| %A | 요일 이름:월요일, 화요일, ... |
| %u | 요일: 1~7(월~일) |
| %w | 요일: 0~6(일요일~토요일) |
| %d | 제로 패딩된 월의 날짜: 01~31 |
| %b | 월 약어: 1월 ~ 12월 |
| %B | 월명: 1월~12월 |
| %m | 무패딩 월: 01-12 |
| %Y | 무패딩 연도: 0012, 0120, 1200 |
| %H | 24시간 무패딩 시간: 00 - 23 |
| %I | 01-12시간 시계가 없는 시간: 01 - 12 |
| %p | AM, PM 또는 옵션의 경우 |
| %M | 분 무패딩: 00 ~ 59 |
| %S | 두 번째 제로 패딩: 00 ~ 59 |
| %j | 제로 패딩된 날짜: 001 ~ 366 |
| %-d | 월일: 1~31일 |
| %-m | 월: 1-12 |
| %-Y | 연도: 12, 120, 1200 |
| %-H | 시간: 0~23 |
| %-M | 분: 0 ~ 59 |
| %-S | 두 번째: 0 ~ 59 |
| %-j | 일수: 1~366일 |
| %-I | 시간: 1~12 |
| %% | % |
게다가.%{property}(어디서)property사용할 수 있는 날짜의 속성임)
예를 들어,Date('1 Feb 2015 14:30:45 A.D.')다음과 같은 속성을 가지고 있다.
| 코드 | 결과 |
|---|---|
| %{{properties} | 그레고리안 |
| %{년} | 2015 |
| %{개월} | 2 |
| %{{day} | 1 |
| %{hour} | 14 |
| %{분} | 30 |
| %{초} | 45 |
| %{dayabbr} | 태양 |
| %{dayname} | 일요일 |
| %{dayoffeek} | 0 |
| %{{properties} | 0(주간으로 표시됨) |
| %{dayof weekiso} | 7 |
| %{{properiso} | 7(주간으로 표시됨) |
| %{dayof year} | 32 |
| %{era} | 틀:축구단 |
| %{gsd} | 735630(CE 1월 1일부터 일 수 없음, 첫 번째 날은 1일) |
| %{{properiandate} | 2457055.1046875(줄리안데이) |
| %{jd} | 2457055.1046875(줄리안다이트로 표시됨) |
| %{{610ap년} | 거짓의 |
| %{개월일} | 28 |
| %{monthabbr} | 2월 |
| %{monthname} | 2월 |
몇 가지 바로 가기를 사용할 수 있다.주어진date = Date('1 Feb 2015 14:30')다음과 같은 결과가 나올 것이다.
| 코드 | 설명 | 예시 결과 | 등가 형식 |
|---|---|---|---|
| date:textmessage%c') | 날짜와 시간 | 2015년 2월 1일 오후 2시 30분 | %-I:%M %p %-d %B %-Y %{era} |
| date:textmessage%x') | 날짜를 잡다 | 2015년 2월 1일 | %-d %-B %-Y %{era} |
| date:text('%X') | 시간 | 오후 2시 30분 | %-I:%M %p |
줄리안 데이트
다음은 율리우스 날짜를 날짜로 변환한 다음 날짜에 대한 정보를 얻는 예를 보여준다.
-- 코드 -- 결과 날짜 = 요구하다('모듈:날짜')._날짜 날짜를 잡다 = 날짜('julandate', 320) 번호를 붙이다 = 날짜를 잡다.gsd -- -1721105 번호를 붙이다 = 날짜를 잡다.JD -- 320 문자 메시지를 보내다 = 날짜를 잡다.낮의 이름 - 토요일 문자 메시지를 보내다 = 날짜를 잡다:문자 메시지를 보내다() -- 4713년 10월 9일 기원전 문자 메시지를 보내다 = 날짜를 잡다:문자 메시지를 보내다('%Y-%m-%d') -- 4713-10-09 문자 메시지를 보내다 = 날짜를 잡다:문자 메시지를 보내다('%{era} %Y-%m-%d') -- BC 4713-10-09 문자 메시지를 보내다 = 날짜를 잡다:문자 메시지를 보내다('%Y-%m-%d %{era}') -- 4713-10-09 기원전 문자 메시지를 보내다 = 날짜를 잡다:문자 메시지를 보내다('%Y-%m-%d %{era}', 'era=B.C.E.') -- 4713-10-09 B.C.e 문자 메시지를 보내다 = 날짜를 잡다:문자 메시지를 보내다('%Y-%m-%d', 'era=BC Negative') -- -4712-10-09 문자 메시지를 보내다 = 날짜를 잡다:문자 메시지를 보내다('%Y-%m-%d', era=BCMINUS') - - -4712-10-09(유니코드 MEXU SIGN U+2212 사용) 문자 메시지를 보내다 = 날짜('julandate',320):문자 메시지를 보내다('%{gsd} %{jd}') -- -1721105 320 문자 메시지를 보내다 = 날짜('기원전 4713년 10월 9일.'):문자 메시지를 보내다('%{gsd} %{jd}') -- -1721105 320 문자 메시지를 보내다 = 날짜(-4712,10,9):문자 메시지를 보내다('%{gsd} %{jd}') -- -1721105 320 날짜 차이
두 날짜의 차이는 다음과 같이 결정할 수 있다.date1 - date2결과는 양쪽 날짜 모두 그레고리력을 사용하거나 양쪽 날짜 모두 율리우스력을 사용할 경우 유효하며, 그렇지 않을 경우 결과는 영(0)이다.나이와 기간은 날짜 차이에서 계산할 수 있다.
예를 들면 다음과 같다.
-- 코드 -- 결과 날짜 = 요구하다('모듈:날짜')._날짜 date1 = 날짜('2015년 3월 21일') 날짜2 = 날짜('1999년 12월 4일') 산산이 흩어지다 = date1 - 날짜2 d = 산산이 흩어지다.연령_일수 -- 5586 y, m, d = 산산이 흩어지다.몇 해, 산산이 흩어지다.몇달., 산산이 흩어지다.날들 -- 15, 3, 17 (15년 + 3개월 + 17일) y, m, d = 산산이 흩어지다:나이를 먹다('ymd') -- 15, 3, 17 y, m, w, d = 산산이 흩어지다:나이를 먹다('ymwd') -- 15, 3, 2, 3 (15년 + 3개월 + 2주 + 3일) y, m, w, d = 산산이 흩어지다:지속 기간('ymwd') -- 15, 3, 2, 4 d = 산산이 흩어지다:지속 기간('d') - 5587(기간에는 마지막 날 포함) 날짜 차이가 원래 날짜를 유지하지만 그렇게 스와핑된 경우는 제외한다.diff.date1 >= diff.date2(diff.date1가장 최근 날짜임).이는 다음과 같다.
date1 = 날짜('2015년 3월 21일') 날짜2 = 날짜('1999년 12월 4일') 산산이 흩어지다 = date1 - 날짜2 부정의 = 산산이 흩어지다.음의 - 거짓 문자 메시지를 보내다 = 산산이 흩어지다.date1:문자 메시지를 보내다() -- 2015년 3월 21일 문자 메시지를 보내다 = 산산이 흩어지다.날짜2:문자 메시지를 보내다() -- 1999년 12월 4일 산산이 흩어지다 = 날짜2 - date1 부정의 = 산산이 흩어지다.음의 - true(트랜스위치가 바뀌었음) 문자 메시지를 보내다 = 산산이 흩어지다.date1:문자 메시지를 보내다() -- 2015년 3월 21일 문자 메시지를 보내다 = 산산이 흩어지다.날짜2:문자 메시지를 보내다() -- 1999년 12월 4일 날짜 차이는 또한 시차를 가진다.
date1 = 날짜('2016년 3월 8일 0시 30분 45분') 날짜2 = 날짜('2014년 1월 19일 22시 55분') 산산이 흩어지다 = date1 - 날짜2 y, m, d = 산산이 흩어지다.몇 해, 산산이 흩어지다.몇달., 산산이 흩어지다.날들 -- 2, 1, 17 H, M, S = 산산이 흩어지다.몇시간., 산산이 흩어지다.회의록, 산산이 흩어지다.몇 초 -- 1, 35, 45 날짜 차이는 날짜에 추가하거나 날짜에서 차감할 수 있다.
date1 = 날짜('2016년 3월 8일 0시 30분 45분') 날짜2 = 날짜('2014년 1월 19일 22시 55분') 산산이 흩어지다 = date1 - 날짜2 날짜3 = 날짜2 + 산산이 흩어지다 날짜4 = date1 - 산산이 흩어지다 문자 메시지를 보내다 = 날짜3:문자 메시지를 보내다('ymd hms') -- 2016-03-08 00:30:45 문자 메시지를 보내다 = 날짜4:문자 메시지를 보내다('ymd hms') -- 2014-01-19 22:55:00 대등하다 = (date1 == 날짜3) ­ 참말 대등하다 = (날짜2 == 날짜4) ­ 참말 날짜 차이의 나이와 기간 방법은 반환해야 하는 구성요소를 식별하는 코드를 허용한다.마지막 날이 포함되기 때문에 지속시간 방법에는 추가일이 포함된다.
| 코드 | 반환된 값 |
|---|---|
'ymwd' | 년, 월, 주, 일 |
'ymd' | 년, 월, 일 |
'ym' | 몇 년, 몇 달 |
'y' | 몇 해 |
'm' | 몇달. |
'wd' | 몇 주, 며칠 |
'w' | 몇 주 |
'd' | 날들 |
-- 다른 모듈에서 사용할 날짜 함수. - I18N과 시간대는 지원되지 않는다. 국부적 빼기 = '−' - 유니코드 U+2212 MEX SIGN 국부적 마루를 깔다 = 수학을 하다. 국부적 날짜, 다테디프, 확산시키다 -- 포워드 선언 국부적 유니크 = { '이중 식별자' } 국부적 기능을 하다 is_date(t) -- 날짜를 읽기 전용으로 만드는 데 사용되는 시스템은 고유하지 않음을 의미한다. -- 편리하게 확인할 수 있는 충족 가능한 기능. 돌아오다 타자를 치다(t) == '테이블' 그리고 t._id == 유니크 종지부를 찍다 국부적 기능을 하다 is_message(t) 돌아오다 타자를 치다(t) == '테이블' 그리고 구할 수 있는(t) == 확산시키다 종지부를 찍다 국부적 기능을 하다 _list_properties(리스트를 작성하다, 9월을 보내다) 돌아오다 table.classat(리스트를 작성하다, 9월을 보내다) 종지부를 찍다 국부적 기능을 하다 수집() -- 품목을 보관할 테이블을 반환하십시오. 돌아오다 { n = 0, 덧셈을 = 기능을 하다 (자아의, 항목) 자아의.n = 자아의.n + 1 자아의[자아의.n] = 항목 종지부를 찍다, 합류하다 = _list_properties, } 종지부를 찍다 국부적 기능을 하다 trip_to_nil(문자 메시지를 보내다) -- 텍스트가 문자열인 경우 잘린 내용을 반환하거나, 비어 있는 경우 0을 반환하십시오. -- 그렇지 않으면 텍스트 반환(날짜 필드가 제공될 때 편리함) -- 문자열, 숫자 또는 다른 유형을 통과할 수 있는 또 다른 모듈). 만일 타자를 치다(문자 메시지를 보내다) == '끈' 그때 문자 메시지를 보내다 = 문자 메시지를 보내다:짝을 맞추다('(%S.-)%s*