IBAN: DE30 2585 0110 0046 0424 20
BIC: NOLADE21UEL
Stichwort: PERRYPEDIA
Institut: SK Uelzen Lüchow-Dannenberg
Kontoinhaber: PERRY RHODAN FAN ZENTRALEDeine Spenden helfen, die Perrypedia zu betreiben.Benutzer:Beejay/Spielwiese/Diverses/Adoc-Lian
< Benutzer:Beejay | Spielwiese | Diverses
Zur Navigation springen
Zur Suche springen
<html> <head><title>Zeitumrechnung Adoc-Lian in terranische Zeitrechnung</title> </head> <body> <script type="text/javascript">
function calcSecsMin (fe, es) { // Funktion zur Addition bzw. Subtraktion des Sekunden- oder Minutenwertes es auf den Wert fe // inklusive Übertragsrechnung; Annahme: sowohl fe als auch es bewegen sich zwischen 0 und 59 var result = new Array (2); result[0] = 0; // Übertragswert result[1] = fe + es; // Ergebnis if (result[1] > 59) { result[0] = 1; result[1] = fe + es - 60; } else if (result[1] < 0) { result[0] = -1; result[1] = fe + es + 60; } return result; }
function calcHours (fe, es) { // Funktion zur Addition bzw. Subtraktion des Stundenwertes es auf den Wert fe // inklusive Übertragsrechnung; Annahme: sowohl fe als auch es bewegen sich zwischen 0 und 23 var result = new Array (2); result[0] = 0; // Übertragswert result[1] = fe + es; // Ergebnis if (result[1] > 23) { result[0] = 1; result[1] = fe + es - 24; } else if (result[1] < 0) { result[0] = -1; result[1] = fe + es + 24; } return result; }
function calcYearsUp (fed, fem, fey, es) { // Funktion zur Berechnung des Tageswertes, basierend auf einem Startwert fed für den Tag, fem für den Monat und fey für das Jahr, // sowie es als Offset in Tagen; Annahme: es ist positiv, das Ergebnis liegt somit in der Zukunft. var result = new Array (3); result[0] = fed; // Ergebnis = Tag result[1] = fem; // Ergebnis = Monat result[2] = fey; // Ergebnis = Jahr while (es > 0) { result[0] = result[0] + 1; es = es - 1; // Wenn Monat Januar und Monatende erreicht ... if (result[1] == 1) { if (result[0] == 32) { result[0] = 1; result[1] = 2; } } // Wenn Monat Februar und Monatende erreicht ... else if (result[1] == 2) { // Berücksichtigung Schaltjahre if ((result[2] % 400 == 0) || ((result[2] % 4 == 0) && (result[2] % 100 != 0))) { if (result[0] == 30) { result[0] = 1; result[1] = 3; } } else if (result[0] == 29) { result[0] = 1; result[1] = 3; } } // Wenn Monat März und Monatende erreicht ... else if (result[1] == 3) { if (result[0] == 32) { result[0] = 1; result[1] = 4; } } // Wenn Monat April und Monatende erreicht ... else if (result[1] == 4) { if (result[0] == 31) { result[0] = 1; result[1] = 5; } } // Wenn Monat Mai und Monatende erreicht ... else if (result[1] == 5) { if (result[0] == 32) { result[0] = 1; result[1] = 6; } } // Wenn Monat Juni und Monatende erreicht ... else if (result[1] == 6) { if (result[0] == 31) { result[0] = 1; result[1] = 7; } } // Wenn Monat Juli und Monatende erreicht ... else if (result[1] == 7) { if (result[0] == 32) { result[0] = 1; result[1] = 8; } } // Wenn Monat August und Monatende erreicht ... else if (result[1] == 8) { if (result[0] == 32) { result[0] = 1; result[1] = 9; } } // Wenn Monat September und Monatende erreicht ... else if (result[1] == 9) { if (result[0] == 31) { result[0] = 1; result[1] = 10; } } // Wenn Monat Oktober und Monatende erreicht ... else if (result[1] == 10) { if (result[0] == 32) { result[0] = 1; result[1] = 11; } } // Wenn Monat November und Monatende erreicht ... else if (result[1] == 11) { if (result[0] == 31) { result[0] = 1; result[1] = 12; } } // Wenn Monat Dezember und Monatende erreicht ... else if (result[1] == 12) { if (result[0] == 32) { result[0] = 1; result[1] = 1; result[2] = result[2] + 1; // Jahresübertrag } } } return result; }
function calcYearsDown (fed, fem, fey, es) { // Funktion zur Berechnung des Tageswertes, basierend auf einem Startwert fed für den Tag, fem für den Monat und fey für das Jahr, // sowie es als Offset in Tagen; Annahme: es ist negativ, das Ergebnis liegt somit in der Vergangenheit. var result = new Array (3); result[0] = fed; // Ergebnis = Tag result[1] = fem; // Ergebnis = Monat result[2] = fey; // Ergebnis = Jahr while (es < 0) { result[0] = result[0] - 1; es = es + 1; // Wenn Monatanfang erreicht ... if (result[0] == 0) { // Januar --> Dezember + Jahresübertrag if (result[1] == 1) { result[0] = 31; result[1] = 12; result[2] = result[2] - 1; } // Februar --> Januar else if (result[1] == 2) { result[0] = 31; result[1] = 1; } // März --> Februar unter Berücksichtigung Schaltjahre else if (result[1] == 3) { if ((result[2] % 400 == 0) || ((result[2] % 4 == 0) && (result[2] % 100 != 0))) { result[0] = 29; result[1] = 2; } else { result[0] = 28; result[1] = 2; } } // April --> März else if (result[1] == 4) { result[0] = 31; result[1] = 3; } // Mai --> April else if (result[1] == 5) { result[0] = 30; result[1] = 4; } // Juni --> Mai else if (result[1] == 6) { result[0] = 31; result[1] = 5; } // Juli --> Juni else if (result[1] == 7) { result[0] = 30; result[1] = 6; } // August --> Juli else if (result[1] == 8) { result[0] = 31; result[1] = 7; } // September --> August else if (result[1] == 9) { result[0] = 31; result[1] = 8; } // Oktober --> September else if (result[1] == 10) { result[0] = 30; result[1] = 9; } // November --> Oktober else if (result[1] == 11) { result[0] = 31; result[1] = 10; } // Dezember --> November else if (result[1] == 12) { result[0] = 30; result[1] = 11; } } } return result; }
function calcYears (fed, fem, fey, es) { // Funktion zur Berechnung des Tageswertes, basierend auf einem Startwert fed für den Tag, fem für den Monat und fey für das Jahr, // sowie es als Offset in Tagen. var result = new Array (3); result[0] = fed; // Ergebnis = Tag result[1] = fem; // Ergebnis = Monat result[2] = fey; // Ergebnis = Jahr // Liegt das Ergebnis in der Vergangenheit ... if (es < 0) { result = calcYearsDown (fed, fem, fey, es); } // Liegt das Ergebnis in der Zukunft ... else if (es > 0) { result = calcYearsUp (fed, fem, fey, es); } return result; }
function pad2two (i) { // Funktion zur Formatierung von Datumsausgaben, z.B. 1.1.2013 -> 01.01.2013 if (i <= 9) { return "0" + i.toString(); } else { return i.toString(); } }
function convertEscalian () { // Funktion zur Umwandlung von Adoc-Lian (Escalian) in terranische Zeitrechnung var new_escalian = '0x' + document.Eingabe.Adoclian.value; // var new_escalian = '0x3A17CA2000'; var fixed_escalian = '0x3AB03E8500'; // Referenzgröße Adoc-Lian var fixed_earth = '09.01.1470 NGZ 09:45:00'; // Referenzgröße terranisch var fixed_earth_sec = parseInt (fixed_earth.slice (21, 23)); var fixed_earth_min = parseInt (fixed_earth.slice (18, 20)); var fixed_earth_hour = parseInt (fixed_earth.slice (15, 17)); var fixed_earth_date = parseInt (fixed_earth.slice (0, 2)); var fixed_earth_month = parseInt (fixed_earth.slice (3, 5)); var fixed_earth_year = parseInt (fixed_earth.slice (6, 10)) + 3587; var delta_escalian = parseInt(new_escalian,16) - parseInt(fixed_escalian,16); // Berechnung zeitlicher Abstand in Lil var earth_seconds = Math.round(delta_escalian * 1.2); // Umrechnung zeitlicher Abstand in Sekunden var r1 = new Array (2); var r6 = new Array (3); // Umrechnung in Sekunden (es), Minuten (em), Stunden (eh) und Tage (ed) var es = earth_seconds % 60; var em = Math.round (earth_seconds / 60) % 60; var eh = Math.round (earth_seconds / 3600) % 24; var ed = Math.round (earth_seconds / (3600 * 24)); // Berechnung des Sekundenwertes (r1[1] = Sekundenwert, r1[0] = Übertrag Minutenwert) r1 = calcSecsMin (fixed_earth_sec, es); var r2 = r1[1]; var r3 = r1[0]; // Berechnung des Minutenwertes (r1[1] = Minutenwert, r1[0] = Übertrag Stundenwert) r1 = calcSecsMin (fixed_earth_min, em + r3); r3 = r1[1]; var r4 = r1[0]; // Berechnung des Stundenwertes (r1[1] = Stundenwert, r1[0] = Übertrag Tageswert) r1 = calcHours (fixed_earth_hour, eh + r4); r4 = r1[1]; var r5 = r1[0]; // Berechnung von Tagen, Monaten, Jahren (r6[0] = Tag, r6[1] = Monat, r6[2] = Jahr) r6 = calcYears (fixed_earth_date, fixed_earth_month, fixed_earth_year, ed + r5); var resultStr; // Umwandlung in NGZ, v.Chr, n.Chr. if (r6[2] >= 3588) { r6[2] = r6[2] - 3587; resultStr = pad2two (r6[0]) + "." + pad2two(r6[1]) + "." + r6[2].toString() + " NGZ " + pad2two (r4) + ":" + pad2two (r3) + ":" + pad2two (r2); } else if (r6[2] >= 0) { resultStr = pad2two (r6[0]) + "." + pad2two(r6[1]) + "." + r6[2].toString() + " n.Chr. " + pad2two (r4) + ":" + pad2two (r3) + ":" + pad2two (r2); } else { r6[2] = -r6[2]; resultStr = pad2two (r6[0]) + "." + pad2two(r6[1]) + "." + r6[2].toString() + " v.Chr. " + pad2two (r4) + ":" + pad2two (r3) + ":" + pad2two (r2); } document.Eingabe.Terranisch.value = resultStr; }
</script>
Script zur Umrechnung von Datumsangaben der Zeitrechnung Adoc-Lian, die in der Galaxie Escalian verwendet wird, in die auf Terra übliche Zeitrechnung
<form action="input_text.htm" name="Eingabe">
Adoc-Lian (bitte in der Schreibweise wie 3AB03E8500 eingeben)
<input name="Adoclian" type="text" size="15" maxlength="15">
Terranisch:
<input name="Terranisch" type="text" size="30" maxlength="30"
</form> <button type="button" onclick="convertEscalian()">Berechnen</button> </body> </html>