Avatar billede macho Praktikant
29. januar 2007 - 13:06 Der er 3 kommentarer og
1 løsning

Problemer med oversættelse til/fra GregorianToJD

Jeg har problemer med en formular, som sender en dato til min MySql-database. Input kommer fra en formular med tre felter (month, day + year), som bruger funktionen "GregorianToJD", som jeg har defineret på php-siden:

function GregorianToJD( $month, $day, $year )
  {    $A = $year / 100;    $B = $A / 4;
    $C = 2 - $A  $B;
    $E = 365.25 * ( $year  4716 );
    $F = 30.6001 * ( $month  1 );
    return round( $C  $day  $E  $F - 1524.5 );
  }


$startDate = GregorianToJD( $month, $day, $year );


Det er $startDate, som skriver til DB'en, men af underlige årsager, så bliver datoen tolket forkert - desværre ikke altid, men ca. 75% af gangene. Hvis jeg f.eks. taster 2. februar 2007 i mine felter, bliver det skrevet som "2454132", men det BURDE have været "2454134".

Nogen, som kan gennemskue, hvad der er galt?
Avatar billede hmortensen Nybegynder
29. januar 2007 - 16:56 #1
Sidebemærkninger:
Hvorfor gemmer du ikke din dato i et datefelt i databasen i stedet?
PHP har en gregoriantojd() metode i forvejen.
Avatar billede macho Praktikant
29. januar 2007 - 17:48 #2
Det har den simple årsag, at jeg skriver til en database, som jeg ikke selv har oprettet fra starten. Denne DB bruges i f.m. en kalender (www.easyphpcalendar.com) og der SKAL datoen skrives som Julian Date.

Undlader jeg "function GregorianToJD" får jeg fejl (muligvis manglende funktion på Surftown's server).
Avatar billede macho Praktikant
30. januar 2007 - 12:42 #3
BUMB

Anyone...?
Avatar billede macho Praktikant
09. februar 2007 - 09:03 #4
Lukker uden løst problem.
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