Avatar billede tidsrejse-frede Nybegynder
06. juni 2003 - 00:56 Der er 16 kommentarer og
1 løsning

Juliansk dag - variabel

Hej Eksperter!
Jeg er ikke mester i JavaScript, men det er der no´k nogle af jer som er.

Ved i, om der findes en variabel, som kan udskrive dagen, ud fra den julianske kalender-algoritme?

Mange sommerhilsner!
- Frede
Avatar billede roenving Novice
06. juni 2003 - 01:57 #1
Google ka !-)

http://aa.usno.navy.mil/data/docs/JulianDate.html

-- der har de zq en converter, prøv at kigge på den ...
Avatar billede roenving Novice
06. juni 2003 - 02:12 #2
-- funktionen er lige til at grabbe ,-)
Avatar billede tidsrejse-frede Nybegynder
06. juni 2003 - 13:55 #3
Hmm... Den fylder frygtelig meget... Eh... Jeg tænkte nu nærmere noget i retningen af en 1-linie funktion...
Eh... Kunne du lokkes til at udskríve funktionen for mig? Jeg ved ikke meget om det....
Avatar billede roenving Novice
06. juni 2003 - 14:04 #4
Hvad har du brug for, for meget af den kode som ligger er check for ulovligheder !-)

-- du kan jo lægge koden i en selvstændig fil, så kan du fra andre steder få et et-linjes-kald ...

-- har du kun brug for at få uge-dagen eller lignende i dag, kan det gøres meget kortere ;-)
Avatar billede tidsrejse-frede Nybegynder
06. juni 2003 - 14:08 #5
Det jeg skal bruge er:
Juliansk dato, som udskriver dagen i Juliians kalender
Ugedag
Dag nr. i året.

det kunne være dejligt!! ;)
Avatar billede roenving Novice
06. juni 2003 - 14:22 #6
På tilfældige datoer efter 1582 i de katolske lande ?
Avatar billede tidsrejse-frede Nybegynder
06. juni 2003 - 14:45 #7
Næeh, snarre den dags dato i juliansk... Et glimrende eksempel er

http://www.heavens-above.com/whattime.asp?Session=kebgcgppipphojdgpjichfmk

Desværre, er det lavet i ASP, og det kan jeg heller ikke... jeg ved at man kan udhente den julianske systemdato i PHP, men ved ikke om det kan lade sig gøre i Javascript...
Avatar billede fangel Nybegynder
06. juni 2003 - 14:49 #8
hvis nogle ville læse lidt om PHPs dato funktioner, så burde disse to libs kunne klare en del:
http://dk.php.net/manual/en/ref.calendar.php
http://dk.php.net/manual/en/ref.mcal.php

Morten
Avatar billede tidsrejse-frede Nybegynder
06. juni 2003 - 14:51 #9
MEn jeg kan ikke PHP?! Spørgsmålet er hvordan man kan udskrive datoen fra et javascript... :)
Avatar billede roenving Novice
06. juni 2003 - 16:25 #10
Men så kan vi jo bare lave en simpel algoritme, som vil være gældende indtil 28/2-2100 ?-)

Da man indførte den Gregorianske kalender før år 1600, sprang man 10 dage over for at få den ny dato, men man sprang ikke ugedage over, siden har vi haft 3 dage flere, hvor der efter Juliansk kalender ville have været skudår (1700, 1800 og 1900), så vi kan bare trække 13 dage fra idag og vupti så har vi det ...

-- og ugedagen er i mellemtiden kommet tilbage i sync, så den skulle være den samme, så idag efter juliansk kalender er idag-13 dage:

function JulianDateSimple(){
  var dage = ['Søndag','Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag']
  var t = new Date();
  var jday = new Date(t.getTime()-(13*24*60*60*1000));
  return dage[t.getDay()]+" "+jday.getDate()+"-"+(jday.GetMonth+1)+"-"+jday.getFullYear();
}

Kuntricks, men så er det også simpelt ...
Avatar billede roenving Novice
06. juni 2003 - 16:35 #11
Eksempel:

<HTML>
<HEAD>
<TITLE>Idags julianske dato</TITLE>

<SCRIPT LANGUAGE="javascript" TYPE="text/javascript">
var dage = ['Søndag','Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag']
var t = new Date();
function JulianDateSimple(){
  var jday = new Date(t.getTime()-(13*24*60*60*1000));
  return dage[t.getDay()]+" "+jday.getDate()+"-"+(jday.getMonth()+1)+"-"+jday.getFullYear();
}
</SCRIPT>

</HEAD>
<BODY>
<H1>I dags dato</H1>
<TABLE BORDER="1">
<TR>
    <TD>Efter Gregoriansk kalender:</TD>
    <TD><SCRIPT>document.write(dage[t.getDay()]+" "+t.getDate()+"-"+(t.getMonth()+1)+"-"+t.getFullYear());</SCRIPT></TD>
</TR>
<TR>
    <TD>Efter Juliansk kalender:</TD>
    <TD><SCRIPT>document.write(JulianDateSimple());</SCRIPT></TD>
</TR>
</TABLE>
</BODY>
</HTML>
Avatar billede tidsrejse-frede Nybegynder
06. juni 2003 - 16:51 #12
Hmm... Det er gået lidt galt... Eh... Det burde være et tal...

Fx. er dags dato for 6-6-2003: 2452797

Men tak skal du have alligevel... Mon du kunne forsøge at lave et script som udskriver denne?
Avatar billede tidsrejse-frede Nybegynder
06. juni 2003 - 16:53 #13
Her er en algoritme for den julianske kalender:
http://www.hypermaths.org/quadibloc/science/cal04.htm
Avatar billede roenving Novice
06. juni 2003 - 17:10 #14
Igen et simpelt trick: Date-funktionen starter 1/1-1970, hvor vi havde juliansk dag nr. 2.440.588

<HTML>
<HEAD>
<TITLE>Idags julianske dato</TITLE>

<SCRIPT LANGUAGE="javascript" TYPE="text/javascript">
var dage = ['Søndag','Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Lørdag']
//2440588
var t = new Date();
function JulianDateSimple(){
  d = Math.floor(t.getTime()/86400000)+.5;
  return 2440588 + d;
}
</SCRIPT>

</HEAD>
<BODY>
<H1>I dags dato kl. 12 UTC</H1>
<TABLE BORDER="1">
<TR>
    <TD>Efter Gregoriansk kalender:</TD>
    <TD><SCRIPT>document.write(dage[t.getDay()]+" "+t.getDate()+"-"+(t.getMonth()+1)+"-"+t.getFullYear());</SCRIPT></TD>
</TR>
<TR>
    <TD>Efter Juliansk kalender:</TD>
    <TD><SCRIPT>document.write(JulianDateSimple());</SCRIPT></TD>
</TR>
</TABLE>
</BODY>
</HTML>
Avatar billede tidsrejse-frede Nybegynder
06. juni 2003 - 17:17 #15
PERFEKT!!!!!!!!
Tak skal du have!!!

Kan du lige lægget et svar, for du har fortjent dine points!!!
:)
Avatar billede roenving Novice
06. juni 2003 - 17:29 #16
Velbekomme '-)
Avatar billede roenving Novice
06. juni 2003 - 17:29 #17
;O)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester