• 07-06-2021, 17:34:45
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba,
    PHP'de mevcut zamanın şimdiki zamandan küçük olması durumunu karşılaştırmak istiyorum. Yani zamanın geçip gelmediğini kontrol etmek isitiyorum. Gördüğüm kadarıyla aynı formattaki zamanların karşılaştırılabildiği söyleniyor. Ancak garip bir şekilde bu çalışmıyor. Herhangi bir önerisi olan var mı ?

    Örneğin, aşağıdaki gibi üç farklı değişkenim var:

    $given_time_1;  
    $given_time_2;  
       echo $given_time_1; //02-06-2021 19:19           
       echo $given_time_2; //10-06-2021 11:10    
    $now;
      echo $now ; //07-06-2021 17:19    
    
    var_dump($now>$given_time_1); // false
    var_dump($now>$given_time_2); // false
    Yukarıdaki görüldüğü gibi her durumda false değeri alıyorum. Acaba nerede hata yapıyorum ?
  • 07-06-2021, 17:38:25
    #2
    Tam kodunuzu nedir ?
  • 07-06-2021, 17:49:22
    #3
    Woocommerce üzerinde bir dosya içerisinde olduğu için tamamen yazmam konuyu daha da karışık hale getirecektir.
    Temelde şu şekilde:
    Tüm olay bir foreach döngüsü içinde gerçekleşiyor.
    Başlangıçta sipariş tarihini alıyorum. Şu formatta geliyor: Y-m-d H:i
    Ardından bunu yukarıdaki formata çeviriyorum: d-m-Y H:i
    Daha sonra bu sipariş tarihine formata uygun olarak üç gün ekliyorum.
    Sonuç olarak yukarıdaki değeri alıyorum. Örneğin, //02-06-2021 19:19
    Daha sonra ise mevcut günü alıp karşılaştırıyorum. Mevcut gün de belirlediğim formatta geliyor (d-m-Y H:i )
    Örneğin,
              
    if($now>$given_time_1 ) {
     <?php echo "<p> <font color=red>Zaman Doldu!</font> </p>"; ?>
    }
    else {
    
    ...
    }
  • 07-06-2021, 17:49:29
    #4
    $given_time_1 = "02-06-2021 19:19";
    $given_time_2 = "10-06-2021 11:10";
    $now = date("d-m-Y H:i:s");
    echo strtotime($given_time_1);
    echo "<br>";
    echo strtotime($given_time_2);
    echo "<br>";
    echo strtotime($now);
    echo "<br>";
    var_dump($now > $given_time_1); // true
    echo "<br>";
    var_dump($now > $given_time_2); // false
  • 07-06-2021, 17:57:55
    #5
    php_bot adlı üyeden alıntı: mesajı görüntüle
    $given_time_1 = "02-06-2021 19:19";
    $given_time_2 = "10-06-2021 11:10";
    $now = date("d-m-Y H:i:s");
    echo strtotime($given_time_1);
    echo "<br>";
    echo strtotime($given_time_2);
    echo "<br>";
    echo strtotime($now);
    echo "<br>";
    var_dump($now > $given_time_1); // true
    echo "<br>";
    var_dump($now > $given_time_2); // false
    Evet, mantıklı. Çok teşekkür ederim.