SQL Befehl Uhrzeit umwandeln(USA/Deutschland)

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • SQL Befehl Uhrzeit umwandeln(USA/Deutschland)

    hey
    also es ist ein relativ einfaches problem ich finde jedoch keine lösung
    und zwar möchte ich nach der uhrzeit daten aus meiner datenbank abfragen. da aber mein server in amerika liegt ist dor eine zeitverschiebung von 6 stunden wenn ich in der abfrage nun

    Quellcode

    1. WHERE Zeit >= CURTIME()+TIME('06:00:00')
    verwende wird es ab 19 uhr in amerika kritisch weil ich dann auf 25 uhr komme was ja falsch ist wie kann ich das problem umgehen
    danke
  • Ah, du hast eine eigene Spalte für die Stunde.
    Zum debuggen empfehle ich dir übrigens die MySQL Konsole

    Quellcode

    1. mysql> SELECT TIME('13:00:00') > CURTIME() + TIME('00:00:01');
    2. +-----------------------------------------------+
    3. | TIME('13:00:01') > CURTIME() + TIME(':00:00') |
    4. +-----------------------------------------------+
    5. | 1 |
    6. +-----------------------------------------------+
    7. 1 row in set (0.00 sec)
    8. mysql> SELECT TIME('13:00:00') > CURTIME() + TIME('12:00:00');
    9. +-------------------------------------------------+
    10. | TIME('13:00:01') > CURTIME() + TIME('12:00:00') |
    11. +-------------------------------------------------+
    12. | 0 |
    13. +-------------------------------------------------+
    14. 1 row in set (0.00 sec)
    Alles anzeigen


    Aber zurück zum Thema:
    Wenn dein Client in Deutschland ist, dann solltest du entweder die Zeitzone für die Connection überschreiben.
    Oder aber du fügst mit einer Programmiersprache die Stunde direkt ins Query ein (anstatt CURTIME() zu verwenden)
  • Aber bei einem TV Programm macht TIMESTAMP (also Uhrzeit + Datum) doch viel mehr Sinn, oder?
    TIMESTAMP ist wie im Wiki Artikel erläutert gesagt ein Zeitpunkt:

    Timestamp=10.10.20011 13:10, Server=DE/Berlin
    Wenn ich JETZT aus DE/Berlin auf meine Uhr schaue, dann tritt dieser Zeitpunkt in 5 Minuten ein.
    Wenn ich JETZT US/Ney York auf die Uhr schaue, dann tritt dieser Zeitpunkt erst in 5 Minuten ein. (auch wenn meine Uhr etwas anderes sagt)

    Datetime=10.10.20011 13:10, Server=DE/Berlin
    Wenn ich JETZT aus DE/Berlin auf meine Uhr schaue, dann tritt dieser Zeitpunkt in 5 Minuten ein.
    Wenn ich JETZT US/Ney York auf die Uhr schaue, dann tritt dieser Zeitpunkt erst in 6h + 5 Minuten ein.