Convertissez le calendrier maya
Identifiez l'époque (ou la date de début) du calendrier maya à compte long en tant que date julienne.
epoch = JulianDate["Modified",
DateObject[{-3114, 8, 11}, TimeZone -> 0]];Créez une fonction pour convertir les unités de calendrier à compte long à une date julienne.
JulianFromMayanLongCount[{baktun_, katun_, tun_, uinal_, kin_}] :=
epoch + 144000*baktun + 7200*katun + 360*tun + 20*uinal + kinFromJulianDate peut être utilisée pour tester un exemple d'entrée.
example = JulianFromMayanLongCount[{7, 17, 18, 19, 2}]FromJulianDate["Modified", example, TimeZone -> 0]Créer une fonction pour convertir directement le compte long maya en objets de date grégoriens.

GregorianFromMayanLongCount[date_] := DateValue[
FromJulianDate["Modified",
JulianFromMayanLongCount[date],
TimeZone -> 0],
"Day",
DateObject]GregorianFromMayanLongCount[{7, 17, 18, 19, 2}]Créez une fonction pour convertir une date julienne en unités du calendrier maya à compte long.

JulianToMayanLongCount[date_] := NumberDecompose[
Floor[date - epoch],
{144000, 7200, 360, 20, 1}
]JulianDate peut être utilisée pour interpréter toute entrée de date en une date julienne, qui est ensuite alimentée dans une JulianToMayanLongCount.

DateToMayanLongCount[date_] := Block[{$TimeZone = 0},
JulianToMayanLongCount[JulianDate["Modified", date]]
]Cette fonction acceptera désormais n'importe quelle date et renverra la liste des dates du calendrier maya du compte long.
DateToMayanLongCount["May 4th, 2015"]DateToMayanLongCount[AbsoluteTime[]]DateToMayanLongCount[Today]Ces deux fonctions peuvent être utilisées pour convertir le calendrier maya à compte long.
DateToMayanLongCount[{1900, 1, 1}]DateToMayanLongCount[{1900, 1, 1}];
GregorianFromMayanLongCount[%]