perbedaan mendasar antara Tanggal, Tanggal (format ISO), Tanggal (cap waktu Unix) untuk membuat bidang

8

Saya telah membuat bidang sebagai jenis bidang Tanggal (cap waktu Unix).

Ketika saya mengedit konten dengan beberapa nilai input di bidang yang dibuat di atas itu menunjukkan kesalahan seperti di bawah ini: -

PDOException: SQLSTATE[01000]: Warning: 1265 Data truncated for column 'field_reprisal_date_value' at row 1: INSERT INTO {field_data_field_reprisal_date} (entity_type, entity_id, revision_id, bundle, delta, language, field_reprisal_date_value) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5, :db_insert_placeholder_6); Array ( [:db_insert_placeholder_0] => node [:db_insert_placeholder_1] => 258985 [:db_insert_placeholder_2] => 245170 [:db_insert_placeholder_3] => embedded_video [:db_insert_placeholder_4] => 0 [:db_insert_placeholder_5] => und [:db_insert_placeholder_6] => 2015-03-02 ) in field_sql_storage_field_storage_write() (line 494 of /www/d7yourtango/modules/field/modules/field_sql_storage/field_sql_storage.module).

Tetapi setelah menghapus bidang di atas lagi saya membuat bidang lain sebagai jenis bidang Tanggal dan saya proses yang sama, itu berfungsi.

Jadi pertanyaan saya adalah mengapa itu terjadi begitu untuk kasus 1?

Dan apa perbedaan mendasar antara jenis bidang Tanggal, Tanggal (format ISO), Tanggal (cap waktu Unix) untuk membuat bidang.

Bish
sumber

Jawaban:

9

Di bawah ini menjelaskan tiga jenis bidang secara detail

Tanggal

  • Disebut tipe bidang 'datetime' dalam basis data techno. Jenis format ini direkomendasikan untuk sebagian besar pemasangan karena memanfaatkan fungsi penanganan tanggal basis data tanpa konversi apa pun, yang berarti permintaan lebih cepat.
  • Menyimpan tanggal dalam format tanggal asli database (YYYY-MM-DD HH: MM: SS).
  • Data dalam bentuk yang dapat dibaca manusia.
  • Anda dapat menggunakannya untuk tanggal yang tidak lengkap, yaitu hanya satu tahun atau hanya satu tahun dan satu bulan, dan pad nilai-nilai lain dengan nol, sehingga tampaknya tidak lebih tepat daripada yang sebenarnya.

Tanggal (Format ISO)

  • Menyimpan tanggal dalam format ISO (YYYY-MM-DDTHH: MM: SS).

  • Data dalam bentuk yang dapat dibaca manusia.

  • Daftar Anda dapat menggunakannya untuk tanggal yang tidak lengkap, yaitu hanya satu tahun atau hanya satu tahun dan satu bulan, dan pad nilai-nilai lain dengan nol, sehingga tampaknya tidak lebih tepat daripada yang sebenarnya.

  • Ini adalah format yang diakui secara internasional, dan digunakan apa adanya di banyak situs web dan di banyak aplikasi.

Date (Unix Timestamp)

  • Menyimpan tanggal sebagai bilangan bulat.

  • Membutuhkan lebih sedikit ruang dalam database karena lebih kecil.

  • Seringkali lebih mudah digunakan untuk perhitungan tanggal karena Anda dapat menambah atau menguranginya hanya dengan menambah atau mengurangi detik.

  • Ini adalah format yang digunakan oleh fungsi tanggal php.

  • Itu harus diisi dengan tanggal lengkap - tahun, bulan, hari, jam, menit, detik, sehingga Anda kadang-kadang harus secara sewenang-wenang menetapkan beberapa nilai-nilai ini bahkan jika mereka tidak berlaku.

Diambil Referensi dari Sini

Bipin K
sumber
Batasan penting dari "Date (Unix Timestamp)" adalah jangkauan. Paling awal sekitar tahun 1902, terakhir sekitar tahun 2038. Dari komentar di halaman referensi Anda: "Tanggal yang di bawah tahun 1902 atau di atas tahun 2037 biasanya tidak dapat diselamatkan oleh stempel bilangan bulat yang ditentukan"
François