마야 달력으로 변환
마야 장기 달력의 시대 (시작 날짜)를 율리우스 날짜로 파악합니다.
In[1]:=

epoch = JulianDate["Modified",
DateObject[{-3114, 8, 11}, TimeZone -> 0]];
마야 장기 달력의 단위를 율리우스 날짜로 변환하는 함수를 생성합니다.
In[2]:=

JulianFromMayanLongCount[{baktun_, katun_, tun_, uinal_, kin_}] :=
epoch + 144000*baktun + 7200*katun + 360*tun + 20*uinal + kin
FromJulianDate을 사용하여 예제 입력을 테스트 할 수있습니다.
In[3]:=

example = JulianFromMayanLongCount[{7, 17, 18, 19, 2}]
Out[3]=

In[4]:=

FromJulianDate["Modified", example, TimeZone -> 0]
Out[4]=

마야 장기 달력으로부터 그레고리력의 날짜 객체로 직접 변환하는 함수를 생성합니다.
In[5]:=

GregorianFromMayanLongCount[date_] := DateValue[
FromJulianDate["Modified",
JulianFromMayanLongCount[date],
TimeZone -> 0],
"Day",
DateObject]
In[6]:=

GregorianFromMayanLongCount[{7, 17, 18, 19, 2}]
Out[6]=

율리우스 날짜에서 마야 장기 달력의 단위로 변환하는 함수를 생성합니다.
In[7]:=

JulianToMayanLongCount[date_] := NumberDecompose[
Floor[date - epoch],
{144000, 7200, 360, 20, 1}
]
JulianDate을 사용하여 임의의 날짜 입력을 율리우스 날짜로 해석 할 수있으며, 해석 된 날짜는 JulianToMayanLongCount의 입력으로 사용할 수있습니다.
In[8]:=

DateToMayanLongCount[date_] := Block[{$TimeZone = 0},
JulianToMayanLongCount[JulianDate["Modified", date]]
]
이 함수는 임의의 입력 날짜를 취할 수 있으며, 대응하는 마야 장기 달력의 날짜 목록을 반환합니다.
In[9]:=

DateToMayanLongCount["May 4th, 2015"]
Out[9]=

In[10]:=

DateToMayanLongCount[AbsoluteTime[]]
Out[10]=

In[11]:=

DateToMayanLongCount[Today]
Out[11]=

이 두 함수를 사용하여 마야 장기 달력과의 양방향 변환이 가능합니다.
In[12]:=

DateToMayanLongCount[{1900, 1, 1}]
Out[12]=

In[13]:=

DateToMayanLongCount[{1900, 1, 1}];
GregorianFromMayanLongCount[%]
Out[13]=
