[英]Convert Sql Server (MSSQL) datetime column to Unix time in PHP
[英]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的時間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');
就時區而言,您需要在整個處理過程中維護時區數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.