Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我应该在MySQL中使用什么数据类型来存储XSD格式的日期时间?_Php_Mysql_Datetime_Datetime Format_Type Conversion - Fatal编程技术网

Php 我应该在MySQL中使用什么数据类型来存储XSD格式的日期时间?

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来读写这个数据库,我

我一直在考虑这两种选择,对此我持谨慎态度:

选项A:使用
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
数据类型转换方面被销毁。谢谢你的信息