Demonstration of calendar calculations
Makes some calculations involving calendar, showing its formula.
My first work with Vue.js. Don't mind flickering, please.
Gregorian calendar: {{y}}-{{m}}-{{d}}
Year → Sexagenary years
\( {\color{red} {{y}}} \mod 10 = {{yearJikkan}} \)
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 庚 | 辛 | 壬 | 癸 | 甲 | 乙 | 丙 | 丁 | 戊 | 己 |
\( {\color{red} {{y}}} \mod 12 = {{yearJunishi}} \)
| 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 0 | 1 | 2 | 3 |
| 子 | 丑 | 寅 | 卯 | 辰 | 巳 | 午 | 未 | 申 | 酉 | 戌 | 亥 |
Gregorian calendar → Modified Julian Day
\( \displaystyle
\lfloor 365.25 \times {\color{red} {{y}}} \rfloor
+ \left \lfloor \frac{ {\color{red} {{y}}} }{400} \right \rfloor
- \left \lfloor \frac{ {\color{red} {{y}}} }{100} \right \rfloor
+ \lfloor 30.59 \times ( {\color{mediumseagreen} {{m}}} - 2) \rfloor
+ {\color{steelblue} {{d}}}
- 678912
= {\color{orange} {{mjd}}} \)
Modified Julian Day → Gregorian calendar
\(
\begin{align}
n &= {\color{orange} {{mjd}}} + 678881 &= {{mjd2Gregorian.n}}\\
a &= 4n + 3 + 4 \times \left \lfloor \frac{3}{4} \left \lfloor \frac{4(n+1)}{146097} + 1 \right \rfloor \right
\rfloor &= {{mjd2Gregorian.a}}\\
b &= 5 \left \lfloor \frac{a \mod 1461}{4} \right \rfloor + 2 &= {{mjd2Gregorian.b}} \\
(y, m, d) &= \left ( \left \lfloor \frac{a}{1461} \right \rfloor, \left \lfloor \frac{b}{153} \right \rfloor +
3, \left \lfloor \frac{b \mod 153}{5} \right \rfloor + 1 \right ) &= ({\color{red} {{mjd2Gregorian.y}}},
{\color{mediumseagreen} {{mjd2Gregorian.m}}}, {\color{steelblue} {{mjd2Gregorian.d}}})
\end{align} \)
Modified Julian Day → Julian calendar
\(
\begin{align}
n &= {\color{orange} {{mjd}}} + 678883 &= {{mjd2Julian.n}} \\
a &= 4n + 3 &= {{mjd2Julian.a}} \\
b &= 5 \left \lfloor \frac{a \mod 1461}{4} \right \rfloor + 2 &= {{mjd2Julian.b}} \\
(y, m, d) &= \left ( \left \lfloor \frac{a}{1461} \right \rfloor, \left \lfloor \frac{b}{153} \right \rfloor +
3, \left \lfloor \frac{b \mod 153}{5} \right \rfloor + 1 \right ) &= ({{mjd2Julian.y}}, {{mjd2Julian.m}},
{{mjd2Julian.d}})
\end{align} \)
Julian calendar → Modified Julian Day
\(
\lfloor 365.25 \times {{mjd2Julian.y}} \rfloor
+ \lfloor 30.59 \times ({{mjd2Julian.m}} - 2) \rfloor
+ {{mjd2Julian.d}}
- 678914
= {\color{orange} {{mjdFromJulian}}}
\)
Modified Julian Day → Day of week
\( {\color{orange} {{mjd}}} \mod 7 = {{weakNum}} \)
| 5 | 6 | 0 | 1 | 2 | 3 | 4 |
| 月 | 火 | 水 | 木 | 金 | 土 | 日 |
Modified Julian Day → Sexagenary days
\( {\color{orange} {{mjd}}} \mod 10 = {{jikkan}} \)
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 甲 | 乙 | 丙 | 丁 | 戊 | 己 | 庚 | 辛 | 壬 | 癸 |
\( {\color{orange} {{mjd}}} \mod 12 = {{junishi}} \)
| 10 | 11 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 子 | 丑 | 寅 | 卯 | 辰 | 巳 | 午 | 未 | 申 | 酉 | 戌 | 亥 |
出典
- Sexagenary years: https://ja.wikipedia.org/wiki/干支
- Modified Julian Day, Day of week, Sexagenary days, Julian calendar: https://ja.wikipedia.org/wiki/ユリウス通日