2010-02-13 3 views
0

J'ai ceci pour sélectionner une date à partir d'un DB mysql, et la comparer à un tableau de mois-noms en suédois.Peu d'aide avec cette fonction "date"

$monthnames = array("","Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"); 

$postdate = $monthnames[date("n", strtotime($row['modify_date']))]; 
//Outputs something like '12 Februari' 

Voici le prob, je veux vérifier la variable $ POSTDATE et changer pour « Aujourd'hui », « Hier » et selon la date « avant-hier », comment puis-je faire?

Merci

Répondre

0

Si vous utilisez des estampilles pour stocker des dates dans la base de données:

Vous pouvez avoir des intervalles prédéfinis comme:

$day = mktime(0,0,0,2,1,2001)-mktime(0,0,0,1,1,2001); 

Et vous pouvez comparer le temps - horodatages/dates que vous avez dans la base de données avec ces intervalles.

Par exemple, disons que DBTIME $ contient un horodatage tiré par les cheveux avec mysql:

$time = time() - $dbTime; 
if($time<$day) 
    echo 'posted today'; 
elseif($time<($day*2)) 
    echo 'posted yesterday'; 

etc etc

Ensuite, vous pouvez utiliser la fonction Date de PHP pour faire écho h, minutes, secs, ou des dates, si elles sont plus grandes que vos intervalles prédéfinis.

0

Il n'existe aucune fonction intégrée dans PHP. Vous devez faire des calculs, la fonction mktime peut être votre ami dans ce cas.

if (date of $timenow == date of $timepost) { today; } 
else if (date of $timenow - 24h == date of $timepost) { yesterday; } 
etc. 

Soyez au courant du changement de l'heure d'été/hiver, etc. timezones tentent donc d'utiliser mktime()

http://php.net/date