1

我正在尝试将 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,包括最后一个小数部分?

4

2 回答 2

0

MySQL 的时间DATETIMETIMESTAMP支持小数秒。请注意,对于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');

在时区方面,您需要在整个处理过程中维护时区数据。

于 2013-11-05T19:44:05.113 回答
0
date('Y-m-d H:i:s.B', strtotime($time))

但我不知道mysql时间戳或日期时间是否会存储这个。您可能需要查看另一种方式,无论是文本字段还是不包含该字段或带有时区的内容。

于 2013-11-05T19:32:15.370 回答