即時通訊設法顯示日期和時間從MSSQL服務器日期時間表使用PHP,從SQL Server的值是日期時間EX。 2012-08-20 06:23:28:214
。現在我想顯示它確切的結果,但它顯示它像這樣EX。 Aug 20 2012 6:23AM
。我曾嘗試使用strtotime,但毫秒不顯示或顯示:000
。php/mysql顯示sql服務器日期時間
任何幫助非常感謝。提前致謝。
即時通訊設法顯示日期和時間從MSSQL服務器日期時間表使用PHP,從SQL Server的值是日期時間EX。 2012-08-20 06:23:28:214
。現在我想顯示它確切的結果,但它顯示它像這樣EX。 Aug 20 2012 6:23AM
。我曾嘗試使用strtotime,但毫秒不顯示或顯示:000
。php/mysql顯示sql服務器日期時間
任何幫助非常感謝。提前致謝。
嘗試此,
SELECT CONVERT(VARCHAR(50), CAST('2012-08-20 06:23:28:214' as DateTime), 100)
AS [OutPut]
-- expected output
-- Aug 20 2012 6:23AM
從上面的例子中,我爲了string date
轉換成原始數據類型DateTime
使用CAST
。但在原始查詢中,您可以省略函數CAST
,因爲您已提到該列已在DateTime
數據類型上。
SELECT CONVERT(VARCHAR(50), columnDateTime, 100)
嗨約翰,非常感謝。選擇轉換查詢有竅門。再次感謝。 –
使用PHP的strtotime()將sql日期轉換爲unix時間,然後使用date()根據需要重新格式化它。 =strtotime("2012-08-20 06:23:28.214")
的作品,所以它只是使用字符串操作將最終冒號改爲小數點的問題。
或者,this blog post有可用於讓MS SQL Server直接返回unix時間的代碼。關鍵功能是SELECT DATEDIFF(second, '1970/01/01 00:00:00', @date)
。
如果您實際上使用MySQL而不是SQL Server,則可以使用函數UNIX_TIMESTAMP()
返回當前的unix時間。
DateTime對象的輸入字符串類型爲u
,表示微秒(最多6個)。
DateTime::format不然而使用相同的字符串作爲標準date但以下是從關於u
的文檔取入輸出數據:
微秒(在PHP 5.2.2添加)。請注意,date()將始終生成000000,因爲它需要一個整數參數,而DateTime :: format()確實支持微秒。
感謝您的答案,只是爲了讓它更清晰,即時查詢使用PHP的MSSQL SERVER。來自MSSQL SERVER的實際數據就像這個「2012-08-20 06:23:28:214」,現在如果我回顯它,輸出就像這樣「2012年8月20日上午6:23」。現在我想要的是回顯實際的數據。正如我前面所說,我嘗試使用strtotime,但毫秒的回聲:000。 –
由YYYY-MM-DD日期格式來看,我假設當你說的 「SQL Server」,這意味着你的意思是 「MySQL服務器」,「MS SQL服務器「 - 完全不同的產品。 –
對不起,那應該是MS SQL SERVER .. –
@ytse_jam它應該是MS SQL Server?我有點困惑,如果它不是mysql,你可以從標題和標籤中刪除它 - 我會這樣做,但不想刪除錯誤的標籤。 – Fluffeh