différence de base entre Date, Date (format ISO), Date (horodatage Unix) pour créer un champ


8

J'ai créé un champ comme type de champ Date (horodatage Unix).

Lorsque je modifie un contenu avec une valeur d'entrée dans le champ créé ci-dessus, il affiche une erreur comme ci-dessous: -

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).

Mais après avoir supprimé à nouveau le champ ci-dessus, je crée un autre champ de type Date et je le traite, cela fonctionne.

Donc ma question est pourquoi cela se passe-t-il ainsi pour le 1er cas?

Et quelles sont les différences de base entre les types de champ Date, Date (format ISO), Date (horodatage Unix) pour créer un champ.

Réponses:


9

Ci-dessous explique en détail trois types de champs

Date

  • Appelé un type de champ «datetime» dans la base de données techno. Ce type de format est recommandé pour la plupart des installations car il tire parti des fonctions de gestion des dates de la base de données sans aucune conversion, ce qui signifie des requêtes plus rapides.
  • Stocke la date au format de date natif de la base de données (AAAA-MM-JJ HH: MM: SS).
  • Les données sont sous une forme lisible par l'homme.
  • Vous pouvez l'utiliser pour des dates incomplètes, c'est-à-dire seulement un an ou seulement un an et un mois, et remplir les autres valeurs avec des zéros, de sorte qu'il ne semble pas être plus précis qu'il ne l'est réellement.

Date (format ISO)

  • Stocke la date au format ISO (AAAA-MM-JJTHH: MM: SS).

  • Les données sont sous une forme lisible par l'homme.

  • Liste Vous pouvez l'utiliser pour des dates incomplètes, c'est-à-dire seulement une année ou seulement une année et un mois, et remplir les autres valeurs avec des zéros, de sorte qu'il ne semble pas être plus précis qu'il ne l'est réellement.

  • C'est un format qui est reconnu internationalement, et il est utilisé tel quel sur de nombreux sites Web et dans de nombreuses applications.

Date (horodatage Unix)

  • Stocke la date sous forme d'entier.

  • Prend moins de place dans la base de données car elle est plus petite.

  • Souvent plus facile à utiliser pour les calculs de date car vous pouvez l'augmenter ou la diminuer simplement en ajoutant ou en soustrayant des secondes.

  • C'est le format utilisé par les fonctions de date php.

  • Il doit être rempli avec une date complète - année, mois, jour, heure, minute, seconde, vous devez donc parfois définir arbitrairement certaines de ces valeurs même si elles ne sont pas applicables.

Prise de référence d' ici


Une limite importante de la "Date (horodatage Unix)" est la plage. Au plus tôt vers 1902, au plus tard vers 2038. D'après un commentaire sur votre page de référence: "Les dates qui sont inférieures à l'année 1902 ou supérieures à l'année 2037 ne peuvent généralement pas être enregistrées par le cachet entier défini"
François
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.