PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Tanggal dan waktu di UTC - bagaimana cara menyimpannya di postgres?

gunakan timestamptz itu akan menyimpan cap waktu Anda di UTC. dan akan menampilkannya ke klien sesuai dengan lokalnya.

https://www.postgresql.org/docs/current/static /datatype-datetime.html

diperbarui dengan poin bagus lainnya dari Lukasz , saya harus menyebutkan:

Tidak melakukan itu akan menyebabkan tanggal '2017-12-31' dengan waktu '23:01:01' akan di zona waktu lain sebenarnya bukan hanya waktu yang berbeda, tetapi tanggal yang berbeda dengan semua TAHUN dan BULAN dan HARI yang berbeda

pembaruan lain Sesuai Laurenz perhatikan, jangan lupa kutipan dokumen di atasNilai input yang memiliki zona waktu eksplisit yang ditentukan dikonversi ke UTC menggunakan offset yang sesuai untuk zona waktu tersebut . Yang berarti Anda harus mengatur tanggal input dengan hati-hati. Misal:

t=# create table t(t timestamptz);
CREATE TABLE
t=# set timezone to 'GMT+5';
SET
t=# insert into t select '2017-01-01 00:00:00';
INSERT 0 1
t=# insert into t select '2017-01-01 00:00:00' at time zone 'UTC';
INSERT 0 1
t=# insert into t select '2017-01-01 00:00:00+02';
INSERT 0 1
t=# select * from t;
           t
------------------------
 2017-01-01 00:00:00-05
 2017-01-01 05:00:00-05
 2016-12-31 17:00:00-05
(3 rows)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Mendefinisikan Kunci Utama Peningkatan Otomatis di PostgreSQL

  2. Lampirkan LIST partisi ke tabel yang ada di postgres 11

  3. Instal dan Hubungkan ke PostgreSQL 10 di Ubuntu 16.04

  4. Fungsi INSERT massal Postgres menggunakan argumen JSON

  5. Perlu dua indeks pada tabel gabungan HABTM?