solarwheeloftheyear/index.html

260 lines
26 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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, 'UTC11');" value="UTC11"/>
<input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(-10, 'UTC10');" value="UTC10"/>
<input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(-9, 'UTC9');" value="UTC9"/>
<input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(-8, 'UTC8');" value="UTC8"/>
<input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(-7, 'UTC7');" value="UTC7"/><br>
<input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(-6, 'UTC6');" value="UTC6"/>
<input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(-5, 'UTC5');" value="UTC5"/>
<input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(-4, 'UTC4');" value="UTC4"/>
<input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(-3.5, 'UTC3:30');" value="UTC3:30"/>
<input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(-3, 'UTC3');" value="UTC3"/><br>
<input type="button" onclick="document.getElementById('soltable').innerHTML = makeTable(0, 'UTC0');" value="UTC0"/>
<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, "UTC0");
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>