<!DOCTYPE html>
<!-- https://github.com/zlaxy/solarwheeloftheyear -->
<html xmlns="http://www.w3.org/1999/xhtml"><head>
  <head>
    <!--
      Image 'The Wheel Of The Year' by Charlee Brown https://www.flickr.com/photos/charleebrown/376931276
                                                                      ;
                                                                      ;=
                                                                      .=;                    .X
                                                                       ...                   ;;.
                                                                       ; .;                  ;.=
                                                 ==                    =. =                  . ;
                                      .           X=.                  ;.  =                 = ;.
                                      +           .;;;                 ..  .;               ..  .
                                      +.           ;..;                 .   =                   =
                                      X;           .; .=                =   .;              =   =.                 .
                                      =;;           ;. .+.              =    =              ;   .                 .=
                                      ; ;            =   =.             =     X            =     ;                ;;
                                      .;.;           ;.   ;.            =     ..           ;     =                ;;
                                       = =            ;    =.           =      ;          ;.     =               = ;
                                       + .=           =     =.          =      ;;         ;      .              .. ;
                                       ;  .;           =     =.         =       =        .;       .             = .;
                                       ;   =           =     .=         =       ;        ;       .;            .. ;=
                                       ;.   =          ;.      ;        .       .=       ;       .;            =  ;.
                                        =   .=         .=      .;      ..        ;      =        .+           ;   ;
                                        =    .;         ;       ;;     ..        ;.    .;        .X          ;.
                                        ;     ;.        =.       =     ;.        .;    ;.        .X         ;;    ;
                      .                 =.     .;       ..       .=    =.         +    =          =        .;     +
                       +.               ..      .;       ;        .    ;          +   ;.          ;       .=      =
                       .+.               =       .;      =         ;   ;          ;   =           +      ;.       .
                        ;;               +        .;     X         .;  ;           =  =          .X     ;.       =
                         ;...            ..        .+    ;          =  ;           X .           .+    =.        X
                          ; ..            =          +   .          .. ;           ; +           .;   ;.         ;
                          .; .;           ;          .;   ;          X ;           ; ;           .;   ;         ..
                           .. ...         ;.          .;  +          .;;           . .           .   ;          =.                .;;
                            ;   ;;         ;           ;; ;           ==.          ;=;           =  =           ;              ;;.;=.
                            ;.    ;;       =            = ;.          =;.          ;=            X ;.          .;           .+.   =.
                             ;     .=.     ;.            ;.;          .=.          ;=            ;..           .         ..;     =
                             ..      =+     =            .;;           +.          ;=           ..=            =       ...      =
                              ;       .=;   ;             .+.          ;.          ;=           +=            ..     .=.       =.
                              ;.        =;   ;             X.           +          ;=           =;            =    .;.        .;
                               ;         .=  ;             ;+           +          ;.          ;+            ;.   =.          =
            =                  ..          +  ;             =           ;          ;.          ;=            ;   =           =
            ;;                  ;           =.;              =          .;                     =            .; ..           =
             .;                  ;           ;.;             ;          .X                     =            + =;           .;
             ; =.                ..           ;=.            .=                               +            ; ..           .+
              ; ;.                =            =X             =.                              ;           .=;             +
              .  .=               ;.            ;;            .                                           X;             ;.
              .;   ;;.             ;             =.                                                      ;+              =
               ;     ; ;            ;             =.                                                    .+              =                   ==;;;
                =      ;.=.         .;             =                        ;;;;;                       +              =.           ;;+=; ;;;..=.
                ..         == .      ..             =                 .;+M##########M;;.               +              ..       .;;X=.       .=;
                 ;.           ;=.;    ;             .=              ;X###M++++==++++M##M+;.==.        ;.             .=     ..=..          ;=
                  =              ..=.  ;             .            =M##X=;...........;==+M#M##=                       =   .= .            .;.
                   ;                .;. ;                       =##M+.................;M#####+                     .= .;=               ;=
                    ;                 .;..                    ;M##+.................=X########+                   .=; ;               .=.
                     ;                  .+=                  =M#M;.................X###########M.                .X..                .;
                      ;                   =+                X#M=.................+#############M#=              =X.                 =;
                       ;                   .+.             X#M;................=M##############=M#;            =;                 .;.
                        =                    ==           M#M................;X################X;MM;         .+.                 .=
                         =.                   .          X#M................+###M#=############X..M#;       .=                  .=
                          .=                            +#M................X###MM#+#############..;M#.                         .=
                            =;                         ;##;...............+####=#M=#############...;#M                        ;;
                             .=                        M#=................X###.;#==#############;...;#+                      ;.
                               =;                     +#X.................###X X#=X#############.....X#.                    =.
                                .==                  .MM=................X###M.## X############M.....;#+                  .;
                                   .;.               M#X..........;=;.;X######X#X X############X......X#.                ;.
                        .. ;;;;=+X;;====..          .##........;XM###M##########X X############+......;#X              ;=   ...=;;;;.....
                    ;..=;;             .=+.         X#X......;X##################.X############........M#.           ;;=; ;==;..    ..;.+=;.;;
                 ;= ;.                             .##;.....XM###################XM###########=........;#=         .++.;                    ;;.;=+=;.
              .+;.                                 =#M....=M############;+#M#################X..........MX      .;X..                            ... .;+X=
           ..=.                                    X#+..;M##############X;#XX###############X=..........=#.    .=                                    ;;;
         ;=.                                      .M#.;M################M.X#==#############X;X..........;#=                                       .+..
        =                                         .##X###################;;#X.;XM########M=.=+...........MX                                     .;;
     .=.                                          .#####M#M##############=.X#+...=X##XXX=...==...........X#.                                  .;.
     ;.;.  .=X;.                                  M####+MM+##############X.;#MX+...;X;......=+...........X#;                                .=.
                ==..                             X####M;#=X##############X..;++XX...X;......;+.......+...X#;                             ..X
                   .=.;;                        =#####=;#.M##############+......=.;+=........X=.....+=...X#;                           ;.;
                       .; .;;;;;;;;;;;+=;       .M####.+M ###############=........X=.......;M#M+=;=X=....X#;                        ==.
                                ..==.             M###+X= ##############M........=M......;+M+#;;+==......X#;                  ..;=+
                             ..;.                 +#####= ##############X.......;X+....;+#M=+#;..........X#;     ;;.;==;;.  ;==.
                           ;.;                    +#####X ##############;..XX+=+M+...;X##M=;+M...........X#;         ...=;
                        .=.                       =######;#############MM+X;;XMX...=M###+=;;MM...........X#;              .=..
                      ;.;                         .#XX###M############+.+=........=###M+;;;=#+...........XM                  ;;.
                    .;.                           .##.=##############+.........=XX###M=;;;;+#+...........MX                    ..;.
                   ;.                              M#;.=M##########M=........;X#####X=;;;;;M#=..........=#=                       .;
                 ;;                                =#+...+X######M+.........;M####M+;;;;;;+##...........+#.                         ..;
                =.                                 ;#M.....;=======........+M###X+;;;;;;;=M#M...........MM                            ..==
              ;=                          .;+       M#=.........=;=X=....;M##M==;;;;;;;;=MM#X..........;#=                                .=+. ...    ....
            .=.                         ;==         =#X.............+X.;+#MX=;;;;;;;;;;+#= M+..........M#.                                    ..=+==;=++;
           .+                         =X=            M#;.............XXX+=;;;;;;;;;;;=X#= =#..........;#X      ==                                    .;.
          ;;                    .. ;;;=              =#X.............=#M+=;;;;;;;;;=+MX. =#;..........X#.        ;X;.                             ..=
         =.       .;===;.==;; .;;. .=                 M#;............;X+M#XX+=;;=+X#X=  +M=..........;#X            =;==                       ;=.;
        =. ;X=..;;;;;;;;;;.       ;;                  ;#M............;=..=M##MMMM#+.  ;MM;...........MM.              .==.;+;             .=+; ;
       +=.;.                     ;.                    X#=...........+;...;=M####;  .+MX;...........=#+                 .=. .;;.  ..;;  ;;;
       .                       ;;                      .MM;.........;M.......;=XMM+MMX;........=...;MX                    .=
                              =.                        ;MM;......;+M;...........;==...........=..;M#                       =;
                             ;.                          ;#M;....++=..........................;;..X#;                        .=
                           .=                             =#M.................................X.;M#=      ;                    ;.
                          .;                  .=           =MM;..............................===##=       ;=                    ;.
                         ;;                  =;             ;#M=.............................X+##;          =.                   ..
                        ..                  =                ;M#X;................+;.......;M##M;            ;;                   ..
                       ;;                 ;;                   +##X;...............++=...=X##M=                =.                  ..
                      ;.                .+.                     ;X##X=..............;=+MM###+.                  =;                  .;
                     =                 ;+.                        .XM#MX;;;.........;;XM#MX.                     ;.=.                .;
                    ;               ..;+                             +X####M+====+MM###X=                         ; ;;;               ;.
                  ;.              ... ;               +.               .;;XX######MX;;.             .              ;  ..=.             ;
                 ;.             ;.   ;               =.                     ......                   =             ;;     ==            =
               .=           ..=.    ;              .+                                                .=             ;.       =;;        ..
              ..         ;; ;      ;               X.                                                 .;             ;         ..;       ;.
            +.     . ;=+          ;               ++                                                   ;;             .            +      ;
          ;.   .;;;;             ;              ..=           .                            .            +=            .              =.   ..
       ;;=;=. ;;                ;.             . ;.          .;                             ;           .;;            ;              .;   ;
      .                         ;             ;  ;           X           +                  ;            ;;=            =               .; ..
                               =            .;  ;           .=          .=         ;         ;            = =.          ..               .= ;
                              ;.          ;;    ;           ==          .;         +         ;.            . ..          ;                 ==.
                              =         .;     =           ..;          =;         X          +            ;  .=          .                 ;=
                             ;       . .       ;           ;            =;         =          =;            ;   =.        =                  =
                            ..     .;.        ;           ..;           .;         =;         .;            .    .=        ;
                            ;    .;           ;           . +          ;.;         .           ;.            ;     =.      .
                           ..   .            ;           =  +          . .         .;          .;            ;      ...     ;
                           ;  .;             ;          ;   ;          . .           .         . .           ..       ;;    ..
                          .. =              ..         .    ;         .  .           ;         ;; =           ;         ;.   =
                          ;.=               =         ;.              ;  =         .  ;         . .;          .           ;;  =
                         .+.                ;        ;.              ..  +         ;  .            ;.          .           ;;  .
                         .                 =        ;.               ;   ;         ;   .        =   ;          =             ;.=
                                           ;       ;.               ..   .         ;   ;.       ;.   ;         ;              .=.
                                          ;       ..                ;              +    ;       ..    .        .;              .+
                                          ;      ;                 .;    ;         ;     ;             .        .                +
                                         =      =                  ;     .;        ;     ;.      ;      .       ;
                                        .      ;                   =      .               ;      ;       .       .
                                       .;    =.             ;      =      .       =        ;     ;        ;.     .
                                       =   ..               ;     ;       ;       =        ;     ;         ;     =
                                      ;  .;                 +     +       =.      .         ;    +          ;    ;
                                     .. ;;                  ;     .       .      ..         ;    X
                                    .==.                         .         .     ;           ;   =                ;
                                   .+.                       .   =         ;                 =   ;            .   +
                                                             =   .         +    .;           ..  ;             ;  .
                                                             ;   .         =    .             ;  ;              ;
                                                                 ;         ;    ;             =                  ;..
                                                              . ;              ..             ..                 ;.=
                                                              . ;              .               =..                =.
                                                                               .               ;;                 .;
                                                              ;.;             =                .;                  +
                                                               .;                              ..
                                                               +X            =                 ;=
                                                                +            .                 .;
                                                                .           .
                                                                           =;
                                                                           .
    -->
    <link rel="icon" href="favicon.ico" type="image/x-icon"><link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Ubuntu:regular&amp;subset=Latin,Cyrillic">
    <link rel="stylesheet" type="text/css" href="anthrstlsht.css">
    <title>solar wheel of the year</title>
  </head>
  <body>
    <br><p align="center"><input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(-11, 'UTC-11');" value="UTC-11"/>
    <input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(-10, 'UTC-10');" value="UTC-10"/>
    <input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(-9, 'UTC-9');" value="UTC-9"/>
    <input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(-8, 'UTC-8');" value="UTC-8"/>
    <input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(-7, 'UTC-7');" value="UTC-7"/><br>
    <input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(-6, 'UTC-6');" value="UTC-6"/>
    <input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(-5, 'UTC-5');" value="UTC-5"/>
    <input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(-4, 'UTC-4');" value="UTC-4"/>
    <input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(-3.5, 'UTC-3:30');" value="UTC-3:30"/>
    <input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(-3, 'UTC-3');" value="UTC-3"/><br>
    <input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(0, 'UTC-0');" value="UTC-0"/>
    <input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(1, 'UTC+1');" value="UTC+1"/>
    <input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(2, 'UTC+2');" value="UTC+2"/>
    <input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(3, 'UTC+3');" value="UTC+3"/>
    <input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(3.5, 'UTC+3:30');" value="UTC+3:30"/><br>
    <input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(5, 'UTC+5');" value="UTC+5"/>
    <input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(5.5, 'UTC+5:30');" value="UTC+5:30"/>
    <input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(6, 'UTC+6');" value="UTC+6"/>
    <input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(6.5, 'UTC+6:30');" value="UTC+6:30"/>
    <input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(7, 'UTC+7');" value="UTC+7"/><br>	
    <input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(8, 'UTC+8');" value="UTC+8"/>
    <input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(9, 'UTC+9');" value="UTC+9"/>
    <input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(9.5, 'UTC+9:30');" value="UTC+9:30"/>
    <input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(10, 'UTC+10');" value="UTC+10"/>
    <input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(11, 'UTC+11');" value="UTC+11"/></p>

  <div align = "center" id="soltable"></div>

<script type="text/javascript">

// The exact reference year is only 2021. The dates of the others are calculate according to this model.

var VernalEquinox2021 = new Date('Sat Mar 20 2021 09:37:27 GMT+0000');
var NorthernSolstice2021 = new Date('Mon Jun 21 2021 03:32:08 GMT+0000');
var AutumnalEquinox2021 = new Date('Wed Sep 22 2021 19:21:03 GMT+0000');
var SouthernSolstice2021 = new Date('Tue Dec 21 2021 15:59:16 GMT+0000');
var VernalEquinox2022 = new Date('Sun Mar 20 2022 15:33:23 GMT+0000');

function formatedDate(datein) {
  var dateout = "" + ("0" + ( datein.getUTCDate())).slice(-2) + "." + ("0" + ( datein.getUTCMonth() + 1)).slice(-2) + " " + ("0" + datein.getUTCHours()).slice(-2) + ":" + ("0" + datein.getUTCMinutes()).slice(-2);
  return dateout;
}

function tableRow(vernalequinox) {
  var stringout = "<td>";
    if (vernalequinox.getYear() == VernalEquinox2021.getYear()) stringout += "<b>";
  stringout += vernalequinox.getFullYear();
    if (vernalequinox.getYear() == VernalEquinox2021.getYear()) stringout += "</b>";
    var Imbolc = new Date(vernalequinox.getTime() - ((VernalEquinox2022.getTime() - SouthernSolstice2021.getTime()) / 2));
  stringout += '<td  class = "even">' + formatedDate(Imbolc) + "</td>";
  stringout += "</td><td>" + formatedDate(vernalequinox) + "</td>";
    var Beltane = new Date(vernalequinox.getTime() + ((NorthernSolstice2021.getTime() - VernalEquinox2021.getTime()) / 2));
  stringout += '<td  class = "even">' + formatedDate(Beltane) + "</td>";
    var Midsummer = new Date(vernalequinox.getTime() + (NorthernSolstice2021.getTime() - VernalEquinox2021.getTime()));
  stringout += "<td>" + formatedDate(Midsummer) + "</td>";
    var Lughnasadh = new Date(vernalequinox.getTime() + ((NorthernSolstice2021.getTime() - VernalEquinox2021.getTime()) + (AutumnalEquinox2021.getTime() - NorthernSolstice2021.getTime()) / 2));
  stringout += '<td  class = "even">' + formatedDate(Lughnasadh) + "</td>";
    var Mabon = new Date(vernalequinox.getTime() + (AutumnalEquinox2021.getTime() - VernalEquinox2021.getTime()));
  stringout += "<td>" + formatedDate(Mabon) + "</td>";
    var Samhain = new Date(vernalequinox.getTime() + ((AutumnalEquinox2021.getTime() - VernalEquinox2021.getTime()) + (SouthernSolstice2021.getTime() - AutumnalEquinox2021.getTime()) / 2));
  stringout += '<td  class = "even">' + formatedDate(Samhain) + "</td>";
    var Yule = new Date(vernalequinox.getTime() + (SouthernSolstice2021.getTime() - VernalEquinox2021.getTime()));
  stringout += "<td>" + formatedDate(Yule) + "</td>";
  return stringout;
}

function makeTable(UTC, UTCstr) {

  var fulltable = "<table><caption>";
  now = new Date();
  fulltable += 'Approximate astronomical <a href="https://en.wikipedia.org/wiki/Wheel_of_the_Year">Wheel of the Year</a> - ' + '<a href="https://en.wikipedia.org/wiki/Coordinated_Universal_Time"><b>' + UTCstr + "</b></a><br>";
  fulltable += 'Model: 2021 <a href="https://en.wikipedia.org/wiki/Tropical_year">Tropical year</a> - ' + ( ( VernalEquinox2022 - VernalEquinox2021 ) / 1000 / 60 / 60 / 24 ) + " days (view source for details)</caption>";
  fulltable += '<tr><th>Gregorian Year</th><th><a href="https://en.wikipedia.org/wiki/Wheel_of_the_Year#Imbolc">Imbolc</a></th><th><a';
  fulltable += ' href="https://en.wikipedia.org/wiki/Wheel_of_the_Year#Vernal_Equinox_.28Ostara.29">Ostara</a></th><th>';
  fulltable += '<a href="https://en.wikipedia.org/wiki/Wheel_of_the_Year#Beltane">Beltane</a></th><th><a href="https://en.wikipedia.org/wiki/';
  fulltable += 'Wheel_of_the_Year#Midsummer_.28Litha.29">Midsummer</a></th><th><a href="https://en.wikipedia.org/wiki/';
  fulltable += 'Wheel_of_the_Year#Lammas.2FLughnasadh">Lughnasadh</a></th><th><a href="https://en.wikipedia.org/wiki/';
  fulltable += 'Wheel_of_the_Year#Autumnal_equinox_.28Mabon.29">Mabon</a></th><th><a href="https://en.wikipedia.org/wiki/Wheel_of_the_Year#Samhain">';
  fulltable += 'Samhain</a></th><th><a href="https://en.wikipedia.org/wiki/Wheel_of_the_Year#Midwinter_.28Yule.29">Yule</a></th></tr>';

  for (var i = 1; i <= 17; i++) {
    var current = new Date ( VernalEquinox2021.getTime() + ( UTC * 60 * 60 * 1000 ) - ( ( VernalEquinox2022.getTime() - VernalEquinox2021.getTime() ) * (7 - i) ) );
    if (current.getYear() == now.getYear()) fulltable += '<tr class = "currentyear">';
      else if (i % 2 == 0 ) fulltable += '<tr class = "even">';
        else fulltable += '<tr>'
    fulltable += tableRow(current) + "</tr>";
  }

  fulltable += "</table>";
  return fulltable;
}

  var defaultTable = makeTable(0, "UTC-0");
  document.getElementById("soltable").innerHTML = defaultTable;

</script>

<br><p align="center"><a href="https://github.com/zlaxy/solarwheeloftheyear">source code</a></p>
<br><p align="center"><a href="https://en.wikipedia.org/wiki/Wheel_of_the_Year"><img src="the_wheel_of_the_year_by_Charlee_Brown.jpg"  alt="The Wheel Of The Year by Charlee Brown"></a></p>

  </body>
</html>