フィールドを作成するための日付、日付(ISO形式)、日付(Unixタイムスタンプ)の基本的な違い


8

フィールドタイプDate(Unix timestamp)としてフィールドを作成しました。

上記で作成したフィールドに入力値を含むコンテンツを編集すると、以下のようなエラーが表示されます:

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

しかし、上記のフィールドを再度削除した後、フィールドタイプが日付の別のフィールドを作成し、同じように処理すると、機能します。

だから私の質問は、なぜそれが最初のケースでそうなるのですか?

そして、フィールドを作成するための日付、日付(ISO形式)、日付(Unixタイムスタンプ)のフィールドタイプの基本的な違いは何ですか?

回答:


9

以下は3つのフィールドタイプを詳細に説明しています

日付

  • テクノデータベースで「日時」フィールドタイプと呼ばれます。この形式タイプは、変換なしでデータベースの日付処理関数を利用するため、ほとんどのインストールで推奨されます。つまり、クエリが高速になります。
  • 日付をデータベースのネイティブ日付形式(YYYY-MM-DD HH:MM:SS)で格納します。
  • データは人間が読める形式です。
  • これを不完全な日付、つまり1年のみ、または1年と1カ月のみに使用し、他の値にゼロを埋め込むことができるため、実際より正確ではないように見えます。

日付(ISO形式)

  • ISO形式で日付を格納します(YYYY-MM-DDTHH:MM:SS)。

  • データは人間が読める形式です。

  • リストこれを不完全な日付、つまり年のみ、または年と月のみに使用し、他の値にゼロを埋め込むことができるため、実際よりも正確に表示されることはありません。

  • これは国際的に認められている形式であり、多くのWebサイトや多くのアプリケーションでそのまま使用されます。

日付(UNIXタイムスタンプ)

  • 日付を整数として格納します。

  • データベースのサイズが小さいため、データベースのスペースを節約できます。

  • 秒を加算または減算するだけで日付を増減できるため、多くの場合、日付の計算に使いやすくなります。

  • これは、phpの日付関数で使用される形式です。

  • 年、月、日、時、分、秒の完全な日付を入力する必要があるため、該当しない場合でも、これらの値の一部を任意に設定する必要がある場合があります。

ここから参照


「日付(Unixタイムスタンプ)」の重要な制限は範囲です。あなたのリファレンスページ上のコメントから、2038年の周りの最新の、1902年の周りの最古:「1902年を下回るか、2037年を超えている日付は、通常のスタンプ整数に定義によって保存することができません」
フランソワ・
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.