• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Datum en tijd samenvoegen - jaar 1900 probleem

Status
Niet open voor verdere reacties.

dennio187

Gebruiker
Lid geworden
22 jun 2008
Berichten
34
Hallo,

Uit ons systeem kunnen we een Amerikaans datum (kolom A) en tijd (kolom B)halen.
Echter dit willen we omzetten naar Nederlandse datum (kolom C) en tijd (kolom D).
De nederlandse datum en tijd willen we vervolgens weer samenvoegen in 1 cel (kolom E).
We hebben hiervoor een formule gebruikt, (zie kolom E) echter in cel C3 zie je dat de samenvoeging niet klopt.
Deze geeft aan 16-07-2016 5.49 maar dit moet eigenlijk zijn 15-07-2016 5.49.

Ik heb het vermoeden dat het komt door wat er in cel D3 staat. Deze cel heb ik omgezet naar waarde (zie cel D5).
De datum in het jaar 1900 verschijnt dan.

Weet iemand hoe ik de Nederlandse datum en tijd kan samenvoegen zodat deze goed op telt (Antwoord staat in kolom F zoals het zou moeten zijn)
Hoop dat het iets simpels is zoals het formaat van de cel aan te passen.

Alvast bedankt

Gr
DenniBekijk bijlage Date + Time example.xlsx
 
Voor Nederlandse Datum en tijd kan je toch gewoon deze gebruiken?
Code:
=A2+B2+$I$1
 
ik kom tot dezelfde conclusie als plongske..

het probleem is niet een 1-1-1900 probleem maar die als formule in kolom C je wilt USA servertijd omzetten naar NL servertijd, het tijdsverschil is 6 uur maar in de ALS formule wordt bij de tijd 20u de datum al een dag naar voren geschoven. dat is dus al bij 4 uur tijdsverschil. daardoor krijg je foute datums.

Maar het is ook helemaal niet nodig om een als formule te gebruiken. datum en tijd zijn gewoon waardes die je kunt optellen.
in de bijlage toch even uitgewerkt.
 

Bijlagen

  • Kopie van Date + Time example.xlsx
    10,2 KB · Weergaven: 78
Deze moet veranderen door het tijdsverschil tussen de US en Nederland.
Als de US datum/tijd na 20 uur is betekent dit dat de NL datum een dag later is dan die van de US.
En dit is hetgeen wat we willen zien
 
maar dat klopt dus niet! daar zit een denkfout het is niet na 20 uur in de US dat de datum veranderd.
het is daar 6 uur vroeger, als je die logica volgt zou er 18:00:00 moeten staan ipv 20 uur.
want van 20 uur naar 24 uur is maar 4 uur.
maar je hebt die "als-formule" helemaal niet nodig

kijk nog even naar mijn bijlage daar zie dat als je gewoon 6 uur optelt bij de USA datum+tijd kom je op de door jou gewenste uitkomst.
 
Laatst bewerkt:
Daar sluit ik me bij aan, met nog de aantekening dat helemaal geen rekening gehouden wordt met zomer- en wintertijd.
Als de server de Eastern Time volgt, dan eindigt daar de zomertijd op de eerste zondag van november om 2:00 lokale tijd (6:00 UTC).
Nu, op 2 november, is de zomertijd in Nederland al geëindigd, en is het verschil met Eastern Time maar 5:00 uur.
 
Na de opmerking van Marcel heb ik zitten puzzelen voor een formule die altijd het juiste tijdverschil berekend op basis van exacte ingangstijden zomer en wintertijd.

In de EU loopt de zomertijd van de laatste zondag in maart 2:00 uur tot en met de laatste zondag in oktober 3:00 uur (terug naar 2:00 uur)
In de US loopt de zomertijd van de tweede zondag in maart 2:00 uur tot en met de eerste zondag in november 2:00 uur (terug naar 1:00 uur)

Ik heb een formule gemaakt waarin rekening gehouden wordt met deze tijden en het feit dat gedurende een aantal weken het tijdsverschil geen 6 uur maar 5 uur is.
door gebruik van deze formule kan op elk gewenst moment de juiste tijd worden bepaald. In de file staat een vrij uitgebreidde uitleg over hoe de formule tot stand is gekomen.
 

Bijlagen

  • Kopie van Date + Time example.xlsx
    15,3 KB · Weergaven: 32
Ik denk dat je met een tijdelijke wijziging in het Windows register Windows het werk kunt laten doen.
Hier hoe je de Windows tijdzone kunt uitlezen:

Code:
Sub M_tijdzone_snb()
       c00 = "HKLM\system\currentcontrolset\control\timezoneinformation"

       With CreateObject("wscript.shell")
             MsgBox .regread(c00 & "standardname") & vbLf & "GMT " & -.regread(c00 & "bias") \ 60
       End With
End Sub
 
Hoi Allemaal,

Heel er bedankt voor jullie reacties!!
Dit heeft me enorm geholpen.

Dank jullie!
 
Als je tijden wilt omrekenen van de ene zone naar de andere, heb je 2 tijdzones nodig.
In het algemeen is omrekening via UTC wel zo handig.
In de bijlage heb ik een tijdentabel op Sheet2 voor de 2 onderhavige tijdzones (met de Windows benaming van die tijdzones) in de periode 2000 t/m 2027 (op basis van de huidige kennis...).
Verder heb ik namen gedefinieerd NLTijden en USTijden met het betreffende deel van de tijdentabel.
In Sheet1 heb ik nu een omrekening van US naar UTC en vervolgens van UTC naar NL (blauw gemarkeerd).

Blijft natuurlijk nog tricky dat je bij de overgangen een uur mist of een uur dubbel hebt.
Deze worden in de formules toegerekend aan de tijd vóór de overgang.

Deze opzet werkt ook als landen besluiten om 4 keer in 1 jaar de klok te verzetten (zoals Egypte die in 2010 en 2014 de zomertijd tijdelijk hebben onderbroken voor de Ramadan).
Met een oplossing met 2 kolommen (start en einde zomertijd) ga je dan "nat" (weet ik uit ervaring...).
 

Bijlagen

  • Kopie van Date + Time example MB.xlsx
    20,2 KB · Weergaven: 35
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan