10
votes

Comment faire un chèque si cet horodatage est aujourd'hui, demain ou le lendemain après demain?

J'aimerais savoir comment vérifier si l'horodatage est aujourd'hui, demain ou le lendemain de demain.

J'ai par exemple. : P>

if today then echo $output = "today";
if tomorrow then echo $output = "tomorrow";
if the day after tomorrow then echo $output = "dayaftertomorrow";


3 commentaires

Ce n'est pas un horodatage UNIX. Qu'est-ce que c'est? Est 2006/07/13 la partie de date? Qu'est-ce que 174545? Temps militaire?


Ressemble à yyyymmddhhmms à moi. C'est-à-dire 174545 = 17h45:45.


désolé je l'ai corrigé maintenant


4 Réponses :


0
votes
<?php
$time = "20060713174545";

$date = date('Y-m-d', strtotime($time));
$now = date('Y-m-d');
$tomorrow = date('Y-m-d', time() + strtotime('tomorrow'));
$day_after_tomorrow = date('Y-m-d', time() + strtotime('tomorrow + 1 day'));
if ($date == $now){
    echo "It's today";
} 
elseif($date == $tomorrow){
    echo "It's tomorrow";
}
elseif($date == $day_after_tomorrow){
    echo "It's day after tomorrow";
}
else{
    echo "None of previous if statements passed";
}

2 commentaires

Ajout de 24 heures à l'heure actuelle ne correspond pas nécessairement à demain. Dans de nombreux pays, il y a un jour par an qui a 23 heures.


Vous l'avez rendu encore plus faux. Time () + Strtotime ('+ 2 jours') serait l'horodatage 2011-08-10 + 2011-08-13 horodatage de 41 ans à l'avenir.



26
votes
$timestamp = "1313000474";

$date = date('Y-m-d', $timestamp);
$today = date('Y-m-d');
$tomorrow = date('Y-m-d', strtotime('tomorrow')); 
$day_after_tomorrow = date('Y-m-d', strtotime('tomorrow + 1 day'));

if ($date == $today) {
  echo "today";
} else if ($date == $tomorrow) {
  echo "tomorrow";
} else if ($date == $day_after_tomorrow) {
  echo "dayaftertomorrow";
}

2 commentaires

que diable? On dirait que je suis copié?


Vraiment mec? Nous ne faisons aucune chose la même chose, et je n'ai aucune raison de copier votre code, qui est à la fois logiquement incorrect et ne produit pas la sortie souhaitée.



1
votes

Gardez votre code propre ... XXX

Edit: Avec cela, vous n'avez pas à vous inquiéter si l'horodatage est déjà sans heures, minutes et secondes ... ou créez des dates de sortie différentes, Remplacement de écho $ $ compare_date_desc; par date d'écho ($ compare_date_desc, $ horodatage);


0 commentaires

-1
votes
<?php
function getTheDay($date)
{
   $curr_date=strtotime(date("Y-m-d H:i:s"));
   $the_date=strtotime($date);
   $diff=floor(($curr_date-$the_date)/(60*60*24));

switch($diff)
  {
     case 0:
     return "Today";
         break;
     case 1:
     return "Yesterday";
        break;
     default:
        return $diff." Days ago";
    }
  }
?>

0 commentaires