text: postgresql — Wie erhalte ich den aktuellen Unix-Zeitstempel von PostgreSQL?
  /Wie erhalte ich den aktuellen Unix-Zeitstempel von PostgreSQL?
  nix-Zeitstempel ist die Anzahl der Sekunden seit Mitternacht UTC am 1. Januar 1970.
  Wie erhalte ich den richtigen Unix-Zeitstempel von PostgreSQL?
  Beim Vergleich mit currenttimestamp.com und timestamp.1e5b.de bekomme ich nicht die erwartete Zeit von PostgreSQL:
  Dies gibt den richtigen Zeitstempel zurück:
  Ich lebe in der Zeitzone UTC +02. Was ist der richtige Weg, um den aktuellen Unix-Zeitstempel von PostgreSQL zu erhalten?
  Dies gibt die richtige Zeit und Zeitzone zurück:
  In Postgres kann timestamp with time zone Als timestamptz und timestamp without time zone Als timestamp abgekürzt werden. Ich werde die kürzeren Typnamen der Einfachheit halber verwenden.
  Das Abrufen des Unix-Zeitstempels von einem Postgres timestamptz wie now() ist einfach, wie Sie sagen, nur:
  Das ist wirklich alles, was Sie wissen müssen, um die absolute Zeit von irgendetwas vom Typ timestamptz zu erhalten, einschließlich now().
  Die Dinge werden nur kompliziert, wenn Sie ein timestamp Feld haben.
  Wenn Sie timestamptz Daten wie now() in dieses Feld einfügen, werden diese zuerst in eine bestimmte Zeitzone konvertiert (entweder explizit mit at time zone Oder durch Konvertieren in die Sitzungszeitzone) und Die Zeitzoneninformationen werden verworfen . Es bezieht sich nicht mehr auf eine absolute Zeit. Aus diesem Grund möchten Sie Zeitstempel normalerweise nicht als timestamp speichern und verwenden normalerweise timestamptz - möglicherweise wird ein Film an einem bestimmten Datum um 18 Uhr veröffentlicht In jeder Zeitzone ist dies der Anwendungsfall.
  Wenn Sie immer nur in einer einzigen Zeitzone arbeiten, können Sie mit timestamp mit (mis) davonkommen. Die Konvertierung zurück nach timestamptz ist clever genug, um mit der Sommerzeit fertig zu werden, und es wird angenommen, dass sich die Zeitstempel für Konvertierungszwecke in der aktuellen Zeitzone befinden. Hier ist ein Beispiel für GMT/BST:
  Beachten Sie jedoch das folgende verwirrende Verhalten:
  Dies liegt daran :
  PostgreSQL untersucht niemals den Inhalt einer Literalzeichenfolge, bevor ihr Typ bestimmt wird, und behandelt daher beide […] als Zeitstempel ohne Zeitzone. Um sicherzustellen, dass ein Literal als Zeitstempel mit Zeitzone behandelt wird, geben Sie ihm den richtigen expliziten Typ. In einem Literal, das als Zeitstempel ohne Zeitzone festgelegt wurde, ignoriert PostgreSQL alle Zeitzonenangaben stillschweigend
  gibt nicht den richtigen Zeitstempel zurück, da die Postzonen-Zeitzonenkonvertierung Zeitzoneninformationen aus dem Ergebnis entfernt:
  Syntax: Zeitstempel ohne Zeitzone AT TIME ZONE Zone
  Rückgabe: Zeitstempel mit Zeitzone
  Behandeln Sie den angegebenen Zeitstempel ohne Zeitzone als in der angegebenen Zeitzone befindlich
  Syntax: Zeitstempel mit Zeitzone AT TIME ZONE Zone
  Rückgabe: Zeitstempel ohne Zeitzone
  Konvertieren Sie einen bestimmten Zeitstempel mit Zeitzone in die neue Zeitzone ohne Zeitzonenbezeichnung
  anschließend betrachtet Extrakt den Zeitstempel ohne Zeitzone und betrachtet ihn als Ortszeit (obwohl er tatsächlich bereits utc ist).
  In der letzten Zeile das erste at time zone führt die Konvertierung durch, die zweite weist dem Ergebnis eine neue Zeitzone zu.