2013-03-15 115 views
2

目前我正在使用小日期時間的數據類型從mssql中檢索日期。將DateTime類轉換爲字符串

的數據是:2013-03-12 00:00:00

我想將其存儲在一個變量,然後顯示在一個文本框。

而我想在文本框中顯示的格式只是2013-03-12

我得到的消息是:

開捕致命錯誤:類的DateTime對象無法 轉換成字符串。

任何想法?

+0

凡你試過查詢了這樣的錯誤?請發佈。 – 2013-03-15 02:30:52

+0

你想用php或sql做這個嗎? – 2013-03-15 02:38:06

+0

選擇*其中id = xxx 表中的一列是smalldatetime類型 – Genjo2013-03-15 02:38:48

回答

5

在PHP中,你可以簡單地使用date_format($date, 'Y-m-d')

<?php 
$date = date_create('2013-11-23 05:06:07'); 
echo date_format($date, 'Y-m-d'); 
?> 

回報 2013年11月23日

2

使用CONVERT

SELECT COVERT(VARCHAR(10), datefield, 121) 
FROM tablename; 
+0

我正確地用我的數據庫中使用的列名替換datefield?什麼是121? – Genjo 2013-03-15 02:37:34

+0

@Genjo - 它確定轉換的格式化日期的樣式,使用'121'它以格式:'yyyy-mm-dd hh:mi:ss.mmm'給出日期,然後將其轉換爲僅' VARCHAR(10)'會給你:'yyyy-mm-dd'。 – 2013-03-15 02:47:28

+1

我更喜歡在表現層處理演示。 – 2013-03-15 02:55:57

4

下面的代碼會給你可用於SQL日期:

$dateTime->format(\DateTime::ISO8601); 

CNC中

其實,我只是看到你想它反過來。在這種情況下:

$dateTime->format('Y-m-d'); 
+0

我不明白爲什麼這不是被接受的答案... – natanelg97 2017-07-30 20:19:30