PHP timestamp zaman fonksiyonu: 2008 2009 daha büyüktür?

3 Cevap php

Ben alamadım. Ben veritabanından zaman şimdiki zaman önce veya sonra olup olmadığını kontrol etmek istiyorsanız, bu yüzden bu yazdı:

$qVraagCodeOp = "SELECT * FROM `code` WHERE `Code_Code` = '$value'";
$rVraagCodeOp = mysql_query($qVraagCodeOp);
$aVraagCodeOp = mysql_fetch_assoc($rVraagCodeOp);

$oldTime =  mktime($aVraagCodeOp["Code_Expdate"]);
$nowTime = time();

echo "databaseTime = $aVraagCodeOp[Code_Expdate] <br />";
echo "mktime =" . $oldTime . "<br />";
echo "timestamp now = $nowTime <br />";

echo 'today: '. date('Y-m-d', $nowTime ) ."<br />";
echo "new minus old =" . ($nowTime -  $oldTime);

Veritabanı tarih yerde 2008 ve geçerli tarih 2009 yılında olduğunu söylüyor çünkü, çıkarma sonucu pozitif olmalıdır. Ancak, bu çıktı:

databaseTime = 2008-12-01
mktime =1263136596
timestamp now = 1255907796
today: 2009-10-19
new minus old =-7228800

Herkes bu anlıyor mu? Ben sadece yanlış bir şey yapıyorum?

3 Cevap

Bu $oldTime = strtotime($aVraagCodeOp["Code_Expdate"]); bu $oldTime = mktime($aVraagCodeOp["Code_Expdate"]); değiştirmeyi deneyin

mktime() bu şekilde çalışmıyor.

Muhtemelen istiyorum strtotime ()

kullanmak, sizin örnekte () mktime kullanmayın strtotime ()

bkz: http://php.net/manual/en/function.strtotime.php