2012-02-28 8 views
0

利用が作る "ではない与えるためにどのように彼は1のようなものを取得するデータベースでまだ利用できない日のために私のウェブサイト、月1970日は利用できませんPHPとMySQL

<?php echo date("D j, M Y", strtotime($row["DATE"])); ?> 

を形成し得ます1ではなく、1970年1月

答えて

2

あなたはdatetime型を持っているか、返される値は0000になりタイムスタンプ場合、MySQLによって返された値が列のデータ型に依存IF

if ($row["DATE"] != '' || $row["DATE"] != '0000-00-00') 
{ 
    echo date("D j, M Y", strtotime($row["DATE"])); 
} 
else 
{ 
    echo 'not yet available'; 
} 
+0

はまだ1を与える例http://www.website.com/check.php?2012-02-29機能しない、Jan11970 – meandme

+0

は、入力された日付が現在の日付その大きいかどうかを確認するために別のチェックを追加します –

0

を利用することはまだ利用-00-00 00:00:00と日付がある場合、値は0000-00-00になります。日付が提供されていない場合に値がデータベースに保存されている方法を知っている場合は、if文を短くすることができ、この

if ($row["DATE"] != '' || $row["DATE"] != '0000-00-00' || $row["DATE"] != '0000-00-00 00:00:00') 
{ 
    echo date("D j, M Y", strtotime($row["DATE"])); 
} 
else 
{ 
    echo 'not yet available'; 
} 

を使用してみてください。

0

strtotimeは、FALSEまたは-1(実行しているPHPのバージョンによって異なります)を返します。この場合を確認してください。

$date = strtotime($ROW['DATE']); 
// need to change this next line depending on PHP version! 
if ($date === false || $date == -1) { 
    print "Not yet available"; 
} else { 
    print date("D j, M Y", $date); 
} 
関連する問題