簡體   English   中英

用十進制精度將MSSQL時間轉換為PHP時間和MySQL DateTime

[英]Convert MSSQL time with decimal precision into PHP time and MySQL DateTime

我正在嘗試將MSSQL時間轉換為PHP時間,然后轉換為MySQL datatime。 MSSQL時間格式如下所示。

2011-10-07 16:55:37.337

我想將此確切表示形式插入MySQL數據庫。 為此,我正在使用PHP。

date('Ymd H:i:s', strtotime($time))

但是,如果我這樣做,我將丟失最后一個小數部分.337

如何使用PHP(包括最后一個小數部分)將此MSSQL時間插入MySQL?

date('Y-m-d H:i:s.B', strtotime($time))

但是我不知道mysql timestamp或datetime是否會存儲它。 您可能需要查看另一種方式,要么是文本字段,要么不包括該字段或帶有時區的內容。

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');

就時區而言,您需要在整個處理過程中維護時區數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM