如何使用php$行检索sql datetime对象?

如何使用php$行检索sql datetime对象?,php,sql-server,datetime,Php,Sql Server,Datetime,例如: $sql = "SELECT * FROM db"; $query = sqlsrv_query($conn, $sql); while($row = sqlsrv_fetch_array($query)){ echo "$row[date_column]"; } 将崩溃 我找到的大多数答案都假设您希望按日期时间对查询进行排序,但我只想在获得所有行后将datetime对象转换为字符串 我不太明白如何使用php date()函数, 我试过: echo date("m/d/Y",

例如:

$sql = "SELECT * FROM db";
$query = sqlsrv_query($conn, $sql);

while($row = sqlsrv_fetch_array($query)){
    echo "$row[date_column]";
}
将崩溃

我找到的大多数答案都假设您希望按日期时间对查询进行排序,但我只想在获得所有行后将datetime对象转换为字符串

我不太明白如何使用php date()函数, 我试过:

echo date("m/d/Y",$row[date_column]); //prints nothing
首先,如果“date_column”是列名,则应在引号中,如下所示:

echo $row["date_column"];
其次,PHP有一个内置函数,可以将MYSQL datetime转换为unix时间戳,PHP date()可以使用该时间戳。试试这个:

echo date("m/d/Y", strtotime($row["date_column"]));
干杯

$string=$row["date_column"]->format('Y-m-d H:i:s')

此处,$row[4]包含日期对象
这肯定会有帮助。

这更多的是mssql问题,而不是phpQuestion询问的是mssql,而不是MySQL,但我不明白为什么这种方法不能同时适用于两者。哇,你说得对!但是是的,如果MSSQL存储的日期时间相同,应该是这样的。您好,谢谢您的回答,但是,我从
echo date(“m/d/Y”,strotime($row[“date\u column”]);
中得到的是日期:每个条目的日期都是1969年12月31日。而且,对于任何条目,这都不是正确的日期。当PHP date()时,您将得到该日期提供了一个错误的输入值。因此我可以帮助您更多,我可以有一个“echo$row[“date_column”];”产生的示例吗?这很奇怪。当我在我的服务器上使用您提供的格式尝试它时,它会起作用。我尝试的代码是:“$time=”2001-01-13 10:45:55.123;“echo date”(“m/d/Y”,strotime($time));”它产生:“01/13/2001”.当您尝试“echo strotime($row[“date_column”]);”时,您会得到什么?
while($row=sqlsrv_fetch_array($rs,SQLSRV_FETCH_NUMERIC))
{
    $logdate=date_format($row[4],"Y-m-d H:i:s");
}