日期,日期(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).

但是在再次删除上面的字段后,我创建了另一个字段作为字段类型Date,并且我处理相同的字段,它起作用了。

所以我的问题是为什么在第一种情况下会发生这种情况?

创建字段的日期,日期(ISO格式),日期(Unix时间戳)字段类型之间的基本区别是什么?

Answers:


9

下面详细说明了三种字段类型

日期

  • 在techno数据库中称为“ datetime”字段类型。建议将这种格式类型用于大多数安装,因为它利用了数据库的日期处理功能而无需进行任何转换,这意味着查询速度更快。
  • 以数据库的本机日期格式(YYYY-MM-DD HH:MM:SS)存储日期。
  • 数据是人类可读的形式。
  • 您可以将其用于不完整的日期,即仅一年或仅一年零零一个月,并用零填充其他值,因此它看起来并没有比它实际的精确。

日期(ISO格式)

  • 以ISO格式存储日期(YYYY-MM-DDTHH:MM:SS)。

  • 数据是人类可读的形式。

  • 列表您可以将其用于不完整的日期,即仅一年或仅一年零一个月,并用零填充其他值,因此它看起来并没有比它实际的精确。

  • 这是一种国际认可的格式,并且在许多网站和许多应用程序中都按原样使用。

日期(Unix时间戳)

  • 将日期存储为整数。

  • 因为它较小,所以在数据库中占用的空间更少。

  • 通常更易于用于日期计算,因为您可以通过增加或减少秒数来增加或减少日期。

  • 它是php日期函数使用的格式。

  • 它必须填写一个完整的日期-年,月,日,小时,分钟,秒,因此有时您必须随意设置其中一些值,即使它们不适用。

这里参考


“日期(Unix时间戳)”的一个重要限制是范围。围绕1902最早,最新的2038年左右从参考页面上留言:“这日期均低于1902年或2037年通常无法被定义的整数邮票保存上述”
弗朗索瓦·
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.