【问题标题】:Display the date in PHP from a datetime field in SQLExpress从 SQLExpress 中的日期时间字段显示 PHP 中的日期
【发布时间】:2013-11-25 16:48:16
【问题描述】:

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

我有一个 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)。一旦我以任何格式获得它(或了解它是如何工作的),我就可以从那里操作它。但它没有以任何功能方式显示。

【问题讨论】:

    标签: php sql date datetime strtotime


    【解决方案1】:

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

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

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

    echo $dt->format('Y-m-d H:i:s');
    # or $row['DateTime']->format('Y-m-d H:i:s'); in your example
    

    【讨论】:

    • 我修改了我的代码,现在我有了: echo "" 。 $row["DateTime"]->format('Y-m-d') 。 "";回声“”。 $row["DateTime"]->format('H:i') 。 ""; 100% 有效
    • @Demonwolf:很酷。还有很多其他很棒的 DateTime methods 你可以学习,以备将来使用;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-14
    • 1970-01-01
    相关资源
    最近更新 更多