Dag Reginald,
Wat betreft de datums voor 1583, is het volgende een feit: de Gregoriaanse
kalender start op 15 oktober 1582. Voordien was dit de Juliaanse kalender (-
45 tot 1582). Er werd toen een tijdsprong van 10 dagen gemaakt om de
tijdrekening juist te krijgen, dit wil zeggen dat de
4 oktober 1582 gevolgd werd door de 15 oktober 1582. De datumfunctie kan
dus uitgebreid worden tot de Juliaanse kalender, enkel een controle op
datums tussen 4 en 15 oktober 1582 zou moeten ingebouwd worden om
deze te verwerpen. Voor mij mag dit dus een uitbreiding zijn tot het jaar 1
(negatieve datums dus achterwege laten). Dit zou een grote hulp zijn voor
alle personen (academici, studenten) die zich met historische feiten bezig
houden.
Ik ben even in de code gedoken en heb de specificatie voor Open Document Format (de
bestandsdefinitie voor o.a. calc (ods) bestanden) er op nageslagen.
De specificatie geeft duidelijk aan dat het om een Gregoriaanse datum gaat en daarom weigert calc
in de functie DATE (DATUM) jaartallen kleiner dan 1583. Dit is een vrije vertaling van 15 oktober
1582 en zou verfijnd kunnen worden, maar gezien de vele verschillen in invoerdatum per land en
zelfs regio, voegt dat m.i. weinig toe. (Is wel eenvoudig te realiseren; ik weet niet hoeveel
waarde je hier aan hecht).
Om eerdere data samen te kunnen stellen uit dag, maand en jaar zou ik een aanvullende functie
kunnen maken, of een optionele parameter aan DATE (DATUM) kunnen toevoegen die de controle op
Gregoriaanse datum uitschakelt. Dit geeft echter vaak conflicten met de uitwisselbaarheid van ods
bestanden (met andere programma's en/of oudere versies).
Er is nu al een optie om de Gregoriaanse datum beperking te omzeilen.
methode (stel dag staat in A1, maand in B1, jaar in C1 en lokale datum weergave is d-m-j):
1. maak een tekst van de dag, maand, jaar met het lokale scheidingteken en in de lokale volgorde:
=CONCATENATE(A1;"-";B1;"-";C1) (TEKST.SAMENVOEGEN)
2. zet de tekst om in datum:
als bovenstaande formule in A2 staat
=DATEVALUE(A2) (DATUMWAARDE)
of in 1 keer
=DATEVALUE(CONCATENATE(A1;"-";B1;"-";C1)) (DATUMWAARDE)
3. zorg dat de celnotatie op datum is ingesteld, want de interne datum/tijdrepresentatie is een
getal
Winfried
--
Unsubscribe instructions: E-mail to users+help@nl.libreoffice.org
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/nl/users/
All messages sent to this list will be publicly archived and cannot be deleted
Context
RE: [nl-users] Datumfunctie is niet consistent · Winfried Donkers
Re: [nl-users] Datumfunctie is niet consistent · JorenDC
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.