PHP tarih karşılaştırma

7 Cevap php

Biçiminde bir tarih "2008-02-16 00:59:57" en az 24 saat önce olup olmadığını nasıl kontrol ederim?

7 Cevap

Sadece strtotime 'nin göreceli tarihleri ​​kullanarak, başka bir cevap ekleme:

$date = '2008-02-16 12:59:57';
if (strtotime("$date +1 day") <= time()) {
    // Do something
}

Ben bu kodu daha okunabilir yapar düşünüyorum.

e.g. via strtotime and time().
The difference must be less then 86400 (seconds per day).

<?php
echo 'now: ', date('Y-m-d H:i:s'), "\n";
foreach( array('2008-02-16 12:59:57', '2009-12-02 13:00:00', '2009-12-02 20:00:00') as $input ) {
  $diff = time()-strtotime($input);
  echo $input, ' ', $diff, " ", $diff < 86400 ? '+':'-', "\n";
}

baskılar

now: 2009-12-03 18:02:29
2008-02-16 12:59:57 56696552 -
2009-12-02 13:00:00 104549 -
2009-12-02 20:00:00 79349 +

sadece son test tarihi / saati, geçmişte 24 saatten az bırakır.

Php bir comparison function between two date/time objects var, ama ben çok buna gerçekten sevmiyorum. Bu özensiz olabilir.

Ne yapmam) zaman çıkışı (ile karşılaştırın sonra, tarih nesnenin dışında bir unix zaman damgası yapmak için strtotime () kullanmaktır.

Sadece kullanmak .....

if(strtotime($date_start) >= strtotime($currentDate))
{
// Your code
}

Belki anlamak daha kolay olacaktır ...

$my_date        = '2008-02-16 12:59:57';
$one_day_after  = date('Y-m-d H:i:s', strtotime('2008-02-16 12:59:57 +1 days'));

if($my_date < $one_day_after) {
echo $my_date . " is less than 24 hours ago!";
} else {
echo $my_date . " is more than 24 hours ago!";
}

Bunu yapmak için basit PHP kullanabilirsiniz:

$date = new simpleDate();
echo $date->now()->subtractHour(24)->compare('2008-02-16 12:59:57')->isBefore();

Öğreticiler kontrol edin. Click here.

Değişken tarih gibi olmalı

$date_value = "2013-09-12";
$Current_date = date("Y-m-d"); VEYA $current_date_time_stamp = time();

Sen çok zaman damgası haline dönüştürmek tarihten sonra hem tarih karşılaştırın yapabilirsiniz:

if(strtotime($current_date) >= strtotime($date_value)) {
 echo "current date is bigger then my date value";
}

VEYA

if($current_date_time_stamp >= strtotime($date_value)) {
 echo "current date is bigger then my date value";
}