2010-03-08 5 views
1

J'ai horodatage dans DB comme: 1268085720, son 2010-03-08 23:00, donc c'est aujourd'hui.Horodatage et ajout 1 an et dernier jour du mois

Comment puis-je ajouter un an, et être le dernier jour du même mois, et avoir besoin de le convertir comme: AAAA-MM-JJ HH: MM?

Pour un exemple donné, j'ai besoin 2011-03-31 23:59.

Merci

Répondre

1

Modification de How to find the last day of the month from date?

echo date("Y-m-t 23:59:59", strtotime("+1 year", 1268085720)); 
// -> 2011-03-31 23:59:59 

LeLe formatdonne le nombre de jours dans le mois donné (28 à 31). Si vous voulez les heures et minutes réelles, utilisez Y-m-t H:i:s au lieu de l'heure codée en dur.

+1

Celui-ci fonctionne, merci :) – kenan

0

Utilisez mktime();

$time=1268085720; 
$nextyear=mktime(date('h', $time), date('i', $time), date('s', $time), date('m', $time), date('t', $time), date('Y', $time)+1); 
+0

Cela donne 2015-09-01 sur mon ordinateur lors de la date d'exécution (Y-m-d) – Gordon

+0

Oups! J'ai oublié d'inclure le jour actuel ... xD - Édité. – Daan

+0

Maintenant, il retourne 2011-03-08. Toujours pas ce que le PO recherchait. Utilisez 'date ('t', $ time)' au lieu de 'date ('d', $ time)' – Gordon

0
//$result contain the timestamp 
$lastday=strtotime('+1 year', $result); 
echo date('Y-m-t H:i',$lastday); 

ici :)

+0

"dernier jour" est "hier" en strotime alors que je pense que l'OP était le dernier jour du mois – Gordon

Questions connexes