Gregoriaans serieel naar gregoriaanse datum

Status
Niet open voor verdere reacties.

Katja23

Gebruiker
Lid geworden
13 feb 2005
Berichten
15
Ik zit met een klein database probleem. Als ik een waarde uit mijn database haal dan geeft hij een gregoriaanse seriele waarde aan waarde aan. Zoals op http://www.calendarhome.com/converter/?time=732110 staat vermeld zou bijvoorbeeld voor het ophalen van de datum 17 mei 2006 een waarde van 732448 worden getoond.

Echter de pagina is in javascript geschreven en ik begrijp niet goed hoe ik de juiste waarde hieruit kan halen om het om te zetten naar Crystal Reports waar ik de opgehaalde datums in moet gebruiken. Ik zoek dus eigenlijk een formule of een C code zodat ik een gregoriaanse seriele datum kan omzetten in een gewone datum.

Ik hoop dat iemand er wat van weet :thumb:
 
Bedankt

Ik denk dat ik er al wel een stuk verder mee kom ik heb nog een klein probleempje. Waar kan ik die inculde files vinden lebrock/sdncalh.h. Deze er nl. niet bij.
 
Tja, die include files. Op formules kan toch geen copyright rusten, of vergis ik me nu?
Pythagoras kun je toch ook vrijelijk gebruiken.
Aan de hand van dit voorbeeld zou je je eigen code kunnen schrijven.

Maar inmiddels ben ik er wel achter dat deze procedure helaas van de Julian Day uitgaat en niet van Greg. serial day.
The SDN is a serial numbering of days where SDN 1 is November 25, 4714 BC in the Gregorian calendar and SDN 2447893 is January 1, 1990.
Als je in http://www.calendarhome.com/converter 2447893 invult bij Julian Day krijg je inderdaad de Gregoriaanse datum January 1, 1990 als resultaat. Komt dus overeen met deze code.
Vul je 1 in krijg je echter de Gregoriaanse datum November 25, 4713 BC als resultaat. Dit scheelt 1 jaar met deze code.
Dit heeft met het jaar 0 te maken, dat wel bestaat in de Gregoriaanse maar niet in de Juliaanse jaartelling.
Deze code zou vwb datums in de Oudheid dus de mindere zijn van http://www.calendarhome.com/converter.

Belangrijker is de vraag ; Is ie met wat aanpassingen ook toepasbaar op Greg. serial day?
Moet kunnen zou je zeggen.
Zeker is dat SDN_OFFSET een andere waarde moet krijgen. Maar welke? nul ?
En dan zowel bij het resultaat voor de dag, de maand en het jaar 1 optellen. Lijkt te kloppen.
Maar het zou wel eens kunnen dat ik hier helemaal mis zit. Ben er nog niet uit.

Zou mooi zijn als iemand nog ergens een kant-en-klare gegarandeerde Gregorian serial day-formule en/of code vond. Of dat javascript vertaalde natuurlijk.
 
Laatst bewerkt:
Ha ik heb het

Ha ik kan met de optie DateValue((datum.veld)-299384) de datum krijgen. In ieder geval bedankt voor de hulp ome jan
 
Katja23 zei:
Ha ik kan met de optie DateValue((datum.veld)-299384) de datum krijgen.
:D
Stuk eenvoudiger. Zoiets moest bestaan natuurlijk. Wist ik niet want als ouwe Cobol-krasser totaal onbekend met C.

Verder niet meer belangrijk maar was er inmiddels wel achter dat met SDN_OFFSET = 306 (dit is aantal dagen mrt t/m dec) de routine perfect werkt.

Sorry dat ik met deze ingewikkelde oplossing op de proppen kwam. Toch wel interessant dat hele datum-gebeuren, vind ik zelf.

Succes.:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan