AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DateTimeToUnix 1 stunde zurück

Ein Thema von venice2 · begonnen am 18. Dez 2020 · letzter Beitrag vom 20. Dez 2020
Antwort Antwort
venice2
(Gast)

n/a Beiträge
 
#1

AW: DateTimeToUnix 1 stunde zurück

  Alt 18. Dez 2020, 12:07
Zitat:
.. die Frage ist doch must Du die lokale Zeit übergeben?
Ja.

Zitat:
Wenn Du dann die Zeit in Deiner Liste anzeigen willst, musst Du sie anhand der Zeitzone in eine lokale Zeit umwandeln.
Nein ich muss sie schon im richtigen Format und zwar + 1 Stunde an den Server schicken.
Tue ich das nicht ist die aktuelle zeit in den EPG Daten falsch.

Siehe die Funktion aus Delphi 14.4

Auf Streife läuft von 13 > 14 Uhr nicht von 12 > 13.
Und das ist was ich mit deiner änderung angezeigt bekomme.
Es fehlt weiterhin 1 Stunde.
Trotzdem Danke für den versuch. (noch mal ein Shot)

Unter 14.4 wird diese zeile ausgeführt aber nur wenn AInputIsUTC false ist.
LDate := TTimeZone.Local.ToUniversalTime(AValue);
danach habe ich die korrekte Zeit nämlich + 1 Stunde. (Local Zeit)

Ich vordere eine *.json an und zwar mit der übergeben Zeit die ich an den Server schicke.

EDIT:
TimeStart := DateTimeToUnix(IncHour(Now, 0), true);
TimeEnd := DateTimeToUnix(IncDay(Now, 1), true);

funktioniert bei dir.
false nicht.. also genau umgekehrt.

Geändert von venice2 (18. Dez 2020 um 13:01 Uhr)
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#2

AW: DateTimeToUnix 1 stunde zurück

  Alt 18. Dez 2020, 12:28
Nach vielen Rumprobieren bekomme ich das korrekte Ergebnis mit einer Zeile.

Delphi-Quellcode:
    TimeStart := SecondsBetween(UnixDateDelta, IncHour(Now, 0));
    //DateTimeToUnix(IncHour(Now, 0), true);
    TimeEnd := SecondsBetween(UnixDateDelta, IncDay(Now, 1));
    //DateTimeToUnix(IncDay(Now, 1), true);
Vielen Dank für deine Hilfe.

Aber:
Du wirst es nicht glauben die gleiche Funktion in 10.4 ergibt ein ganz anderes Resultat
nämlich von 14 -> 15 Uhr.

Also da läuft etwas schwer daneben in Delphi
D2010 via 10.4

Ich mache mal ein Video.

Geändert von venice2 (18. Dez 2020 um 22:08 Uhr)
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#3

AW: DateTimeToUnix 1 stunde zurück

  Alt 18. Dez 2020, 12:50
links gelöscht..

Geändert von venice2 (18. Dez 2020 um 22:08 Uhr)
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#4

AW: DateTimeToUnix 1 stunde zurück

  Alt 19. Dez 2020, 13:03
Zitat:
Nach vielen Rumprobieren bekomme ich das korrekte Ergebnis mit einer Zeile.
War wohl ein Irrtum die korrekte zeit mit D2010 zu bekommen ich schlichtweg unmöglich.
DateTimeToUnix ist einfach ungenügend in D2010 ok alte version.. von daher @seufz..

Bei dem was hier jetzt alles so versucht wurde muss ich das wohl so akzeptieren.
Macht keinen sinn EPG Daten einzulesen zu wollen die eh nicht stimmen.
Danke für eure Hilfe trotzdem.

Egal.. werfe das EPG wieder raus macht so keinen sinn.

Geändert von venice2 (19. Dez 2020 um 13:13 Uhr)
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.593 Beiträge
 
Delphi 7 Professional
 
#5

AW: DateTimeToUnix 1 stunde zurück

  Alt 19. Dez 2020, 13:33
Woher beziehst Du Deine EPG-Daten?

Wenn ich mit meinem PascalScript die Daten von http://mobile.hoerzu.de/programbystation auswerte, stimmen die Ergebnisse.

Die Uhrzeiten sind in UTC und ich muss auf den Unixwert 3600 Sekunden addieren, damit ich auf die Ortszeit komme.

Quasi: UnixToDateTime("Zeit aus der JSON" + 3600)
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#6

AW: DateTimeToUnix 1 stunde zurück

  Alt 19. Dez 2020, 15:37
Woher beziehst Du Deine EPG-Daten?

Wenn ich mit meinem PascalScript die Daten von http://mobile.hoerzu.de/programbystation auswerte, stimmen die Ergebnisse.
von zattoo
Zitat:
Die Uhrzeiten sind in UTC und ich muss auf den Unixwert 3600 Sekunden addieren, damit ich auf die Ortszeit komme.
Nutzt dir doch nichts.
Du hast zwar dann lokal die richtige Zeit weil du sie im nachhinein geändert hast aber deine Programme sind trotzdem falsch
weil du die EPG Daten von in 1 Stunde angefordert hast und nicht die deiner Lokalen Echtzeit.

Es geht nicht darum das ich irgendetwas addieren muss sondern ich muss die Ortszeit als UTC schicken. Die Unixzeit liegt nun mal 1 stunde vor.
Schicke ich die liegen alle meine Sendezeiten um 1 stunde vor damit kann ich aber nichts anfangen.
Ich will wissen was jetzt läuft und nicht erst in einer Stunde.

Und das geht wie hier schon vergeblich versuch einfach nicht mit D2010, 14.4 funktioniert aber das reicht mir nicht.
Es geht nicht um UnixToDateTime sondern um DateTimeToUnix schicke ich die verkehrte zeit 1 stunde vor sind alle EPG Daten nicht verwendbar.
Ich muss meine Lokale Zeit als UnixZeit an den Server schicken um die EPG Daten von den jetzt laufenden Programmen zu erhalten und nicht erst die in 1 Stunde.
Diese interessieren mich nicht.

Egal.. es wurde hier schon alles versucht.

Geändert von venice2 (19. Dez 2020 um 16:00 Uhr)
  Mit Zitat antworten Zitat
mytbo

Registriert seit: 8. Jan 2007
483 Beiträge
 
#7

AW: DateTimeToUnix 1 stunde zurück

  Alt 19. Dez 2020, 19:01
Versuche es mal mit mORMot Unit SynCommons.pas.
Delphi-Quellcode:
var
  tlb: TTimeLogBits;
begin
  tlb.FromUTCTime;
  ShowMessage(tlb.Text(True));
  ShowMessage(IntToStr(tlb.ToUnixTime));
end;
Den Sourcecode habe ich jetzt nicht getestet. Wenns nicht passt, es gibt einige Zeitfunktionen in der Unit.

Bis bald...
Thomas
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz