0

我一直在网上爬行并试图找到解决方案,所以我来到这里。

我有一个 MSSQL 数据库,我正在使用 PHP5.3 连接并从其中一个表中获取数据。我遇到的问题与日期有关。

$result = sqlsrv_query($conn, "SELECT TOP 10 * FROM TAData WHERE DateTime >= '2013-11-11T07:45:00.000'");

while($row = sqlsrv_fetch_array($result))
{
print_r ($row['DateTime']);
echo "<br />";
echo date("Y-m-d H:i:s", strtotime($row['DateTime']));
}

输出如下所示:

DateTime Object ( [date] => 2013-11-11 07:46:08 [timezone_type] => 3 [timezone] => Africa/Johannesburg ) 

January 1, 1970, 2:00 am

我只需要一个可以使用的简单日期和时间 (YYYY-MM-DD HH:MM)。一旦我以任何格式获得它(或了解它是如何工作的),我就可以从那里操作它。但它没有以任何功能方式显示。

4

1 回答 1

1

您无法访问dateDateTime 对象上的属性,就像在另一个答案中一样:

$dt = new DateTime();
echo $dt->date; # this will trigger Notice: Undefined property: DateTime::$date

当您已经拥有 DateTime 对象时,请不要使用任何strtotime()或功能!date()只需使用format()DateTime 对象上的方法来格式化日期时间,例如:

echo $dt->format('Y-m-d H:i:s');
# or $row['DateTime']->format('Y-m-d H:i:s'); in your example
于 2013-11-13T08:22:10.963 回答