0

私はウェブをクロールして解決策を見つけようとしてきたので、ここに来ました。

MSSQL データベースがあり、PHP5.3 を使用して接続し、テーブルの 1 つからデータを取得しています。私が抱えている問題は、日付に関係しています。

$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

date他の回答のように、DateTime オブジェクトのプロパティにアクセスすることはできません。

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

既に DateTime オブジェクトがある場合は、関数strtotime()または関数を使用しないでください。次のように、DateTime オブジェクトのdate()メソッドを使用して日時をフォーマットします。format()

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 に答える