-1

わかりましたので、データベースから取得した日付を表示しようとしています

フォーマットなしで表示できるものは次のとおりです。2012-11-21 19:00:00

表示しようとしているのは次のとおりです。2012-11-21 at 19:00:00

以下はコードです

$expiryDate = date('Y/m/d', $data[0]->dinExpiry);
$expiryTime = date('H:i', $data[0]->dinExpiry);

そして、これは私が得ているエラーです。

ここに画像の説明を入力

また、表示される日付が間違っています

助けてくれてありがとう

4

1 に答える 1

3

簡単な解決策

2012-11-21 19:00:00フォーマットなしで表示できるとのことです。

したがって、任意の $date を 2012-11-21 19:00:00 として表示できる場合は、単に部分文字列にしないでください:

$dateToDisplay = substr($date, 0, 11).'at '.substr($date, 11, 8);

$dateToDisplay as を表示し2012-11-21 at 19:00:00ます。

もう少し...

$data[0]->dinExpiry の出力を知らずにこれに答えるのは難しいです。($date という変数が得られると仮定します)。

@Marc B が言うように、1970 を取得しているという事実は、それが有効なタイムスタンプではないことを示しているため(ヒント: 文字列です)、Unix エポック (1970 年 1 月 1 日 00:00: 00 グリニッジ標準時)。

次のように有効なタイムスタンプに変換できます。

$expiryDate = date('Y-m-d', strtotime($date));

またはあなたの例に合わせて:

$expiryDate = date('Y-m-d', strtotime($data[0]->dinExpiry));
$expiryTime = date('H:i', strtotime($data[0]->dinExpiry));
于 2012-11-11T00:29:22.470 に答える