我正在尝试将MSSQL时间转换为PHP时间,然后转换为MySQL数据时间。 MSSQL时间格式如下所示。
2011-10-07 16:55:37.337
我想将这个确切的表示插入到MySQL数据库中。为实现这一目标,我使用的是PHP。
date('Y-m-d H:i:s', strtotime($time))
但如果我这样做,我错过了最后一个小数部分.337
。
如何使用PHP(包括最后一个小数部分)将此MSSQL时间插入MySQL?
答案 0 :(得分:0)
date('Y-m-d H:i:s.B', strtotime($time))
但我不知道mysql时间戳或日期时间是否会存储它。您可能需要查看另一种方式,文本字段或不包含带时区的内容。
答案 1 :(得分:0)
MySQL的时间DATETIME
和TIMESTAMP
支持小数秒。请注意,对于DATETIME
列,该列必须是DATETIME(6)
类型。这仅适用于MySQL 5.6.4。
对于563及以下版本,您无需将数据存储为时态数据类型:
However, when MySQL stores a value into a column of any temporal data type,
it discards any fractional part and does not store it.
所以不要将它存储为date
值,而应存储为浮点值。
您需要使用以下命令将MSSQL时间转换为PHP中的更正格式:
$date = new DateTime($msSQLTime);
$MySQLTime = $date->format('Y-d-m H:i:s.b');
就时区而言,您需要在整个处理过程中维护时区数据。