Php 我应该在MySQL中使用什么数据类型来存储XSD格式的日期时间?
我一直在考虑这两种选择,对此我持谨慎态度: 选项A:使用Php 我应该在MySQL中使用什么数据类型来存储XSD格式的日期时间?,php,mysql,datetime,datetime-format,type-conversion,Php,Mysql,Datetime,Datetime Format,Type Conversion,我一直在考虑这两种选择,对此我持谨慎态度: 选项A:使用DATETIME字段,并在从字段中取出后将其转换为xsd格式 选项B:使用VARCHAR字段,并在将其插入字段之前将其转换为xsd格式 也许这两个选项都同样有效,但也许有一个选项C我还没有考虑过 如果有区别的话,我需要一张桌子。该字段的数据定义如下: xsd:dateTime格式的日期:[-]CCYY-MM-DDThh:MM:ss[Z |(+|-)hh:MM] 示例:2001-10-26T21:32:52 我将使用php来读写这个数据库,我
DATETIME
字段,并在从字段中取出后将其转换为xsd格式
选项B:使用VARCHAR
字段,并在将其插入字段之前将其转换为xsd格式
也许这两个选项都同样有效,但也许有一个选项C我还没有考虑过
如果有区别的话,我需要一张桌子。该字段的数据定义如下:
xsd:dateTime格式的日期:[-]CCYY-MM-DDThh:MM:ss[Z |(+|-)hh:MM]
示例:2001-10-26T21:32:52
我将使用php来读写这个数据库,我知道mysql和php都有过多的日期/时间函数
在这种情况下,最好的数据类型和读/写方法是什么?这取决于您需要对该列执行什么操作,以及您将从中获得什么 例如,如果必须操作查询中的值,则
DATETIME
看起来不错,但如果需要将其输出回XSD,则时区中的信息是否相关?因为即使您使用CONVERT\u TZ()
正确阅读,datetime列也会丢失该信息
因此,如果您需要“时间点”,请转换为UTC并将其存储为datetime。如果还需要以相同方式重新生成,请将TZ存储在第二列中
如果您对这些信息不做任何处理,那么将其保留为
VARCHAR
——您仍然可以改变想法。“仅限datetime列”是您无法回避的唯一选择。谢谢,这很有意义。。。。另外,我不知道TZ信息在DATETIME
数据类型转换方面被销毁。谢谢你的信息