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
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.