2013-03-15 116 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