• 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 in excel omzetten naar Unix met zomer en winter tijd

Status
Niet open voor verdere reacties.

Havana100

Verenigingslid
Lid geworden
22 jul 2014
Berichten
309
beste,

in voorbeeld staat in kolom A de juiste timestamp. In kolom B de overeenkomstige datum.

In kolom D een formule om de timestamp om te zetten in een datum.

In kolom F een formule om de datum om te zetten in timestamp.

Echter bij overgang van het zomeruur ( idem winteruur) loopt het verkeerd. Zie rij 4.

Iemand een idee welke formule hier een oplossing voor kan bieden?

Alvast bedankt voor de moeite !
 

Bijlagen

  • voorbeeld.xlsx
    9,4 KB · Weergaven: 90
wil je het eventueel met een vba formule? dat maakt het voor mij eenvoudiger.
of wil je een lange excel formule?
 
De Unix timestamps in kolom A leveren een datum in UTC.
Als je daarvan in kolom D de lokale NL tijd wilt hebben moet je er dus afhankelijk van winter- of zomertijd, 1 dan wel 2 uur bij optellen.
Die 1 uur erbij heb je al gedaan, maar als de datum/tijd in de zomertijd valt moet je er 2 uren bij optellen.
 
sylvester

ben absoluut geen specialist maar een vba toevoegen, moet me wel lukken!
 
Sylverster,

Ik heb wel de formules om het zomer en winteruur te bepalen in functie van het jaartal ( denk eens ontvangen te hebben van Edmoor!!) voor het berekenen van het zomer uur van een jaartal =DATUM(A2;3;31)-(WEEKDAG(DATUM(A2;3;31))-1)+2/24 en het winteruur =DATUM(A2;10;31)-(WEEKDAG(DATUM(A2;10;31))-1)+3/24 het jaartal ( bijvoorbeeld 2020) staat dan in cel A2
 
Havana, kijk eens of dit doet wat je bedoeld. ik heb het niet uitgebreid getest , ik hoor het graag zie grijze cellen

als het niet klopt hoor ik het ook graag.
 

Bijlagen

  • voorbeeld - 2020-06-15T165213.272 svp.xlsm
    16 KB · Weergaven: 86
sylvester,

het klopt hoor ! perfect en redelijk wat getest! dus super bedankt !!!
 
Sylvester,

Toch nog iets merkwaardig gevonden. In bijlage jouw excel file. Ik heb vanaf rij oa in kolom H nog datums bijgevoegd. Echer in cel H15 zou maandag 31/12/2018 23:00 moeten staan ipv dinsdag 01/01/2019 0:00.

Enig idee waarom?
 

Bijlagen

  • voorbeeld - 2020-06-15T165213.272 svp (2).xlsm
    17,1 KB · Weergaven: 57
aangepast.
echt een foutje voor mij :eek:
 

Bijlagen

  • voorbeeld - 2020-06-15T165213.272 svp verbeterd.xlsm
    17 KB · Weergaven: 44
Sylvester,

Nogmaals van harte bedankt .!!!!

En ben er absoluut zeker van dat je veel minder fouten maakt dan jij hoor !!!!!!
 
Sylvester,

zou je toch nog even kunnen kijken naar bijlage? cellen in groen?

28/10/2018 is de dag van omschakeling naar winteruur.
 

Bijlagen

  • voorbeeld - 2020-06-15T165213.272 svp verbeterd.xlsm
    33,6 KB · Weergaven: 40
De tijd die astronomisch gelijkt loopt met de zon is de wintertijd.
Bij de zomertijd wordt er een uur bijgeteld.
De zomertijd gaat in op UTC/GMT+1:00, dus "greenwich"-tijd+1uur.
Daarna wordt pas 1 uur erbij geteld voor de "amsterdam/berlijn"-tijdzone.

Code:
Public Function UNIXtoEuropeanUnion(vDate, iTimeZone) As Date 'https://en.wikipedia.org/wiki/Daylight_saving_time
    
    dTime = DateAdd("s", vDate, "1/1/1970") 'am_2020
    
    iYear = Year(dTime)
    
    dBegin = DateSerial(iYear, 4, 1)
    dDSTBegin = dBegin - Weekday(dBegin, vbMonday) + 1 / 24 'daylight saving time begin, last sunday of march, 01:00 UTC
    
    dEnd = DateSerial(iYear, 11, 1)
    dDSTEnd = dEnd - Weekday(dEnd, vbMonday) + 1 / 24 'daylight saving time end, last sunday of october, 01:00 UTC

    bDST = (dTime >= dDSTBegin) And (dTime < dDSTEnd) 'daylight saving time?

    UNIXtoEuropeanUnion = dTime + iTimeZone / 24 - bDST / 24

End Function

p.s de groene cellen uit het vorige bericht zijn de eerste goed en dan de laatste fout.
 

Bijlagen

  • helpmij havana100 unix european union daylight savings time.xlsm
    44,7 KB · Weergaven: 41
Laatst bewerkt:
Beste Alphamax,

Bedankt voor de correctie !!! Ben echt geen VBA kenner hoor maar ik denk dat dit enkel is om de omzetting te doen van Unix naar datum? Zo ja, is het mogelijk om er ook eentje toe te voegen voor datum naar Unix?
 
Havana, ik had het te simpel voorgesteld.
ik heb die mooie formule van Alpha een beetje aangepast en gebruikt.
bij het terugrekenen kunnen soms 2 antwoorden mogelijk zijn dus heb ik beide mogelijkheden aangegeven.
ik hoop dat je excel 365 gebruikt . anders moet je het even melden dan bouw ik de functie wel om.

zie voorbeeld:
 

Bijlagen

  • voorbeeld - 2020-06-15T165213.272 svp 3_1.xlsm
    21,6 KB · Weergaven: 34
Laatst bewerkt:
@sylvester-ponte
Goed gezien dat er soms 2 antwoorden mogelijk zijn ;)

In de bijlage heten ze EuropeanUnionToUnixEarliest en EuropeanUnionToUNIXLatest
 

Bijlagen

  • helpmij havana100 unix european union daylight savings time 2.xlsm
    20,2 KB · Weergaven: 49
Laatst bewerkt:
Bedankt !!! Allebei denk dat ik het begrepen en heb en werkt nu perfect !!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan