11
votes

Obtenez une date de 6 ans à partir de maintenant?

Je veux avoir une date de 6 ans à partir de maintenant?

Comment puis-je faire ça?


5 commentaires

Peut avoir besoin de planifier avec un service d'escorte.


Comment soumettons-nous ce commentaire dans une catégorie "Meilleurs commentaires"? Incroyable.


Pourquoi ne pas marquer certaines de vos 22 questions qui répondent à certaines réponses correctes.


Ok maintenant je sais ... mais si plusieurs réponses sont correctes .. Ce serait dommage de ne pas les sélectionner ..


Choisissez la réponse avec la plus haute qualité. Si cela échoue, choisissez la première réponse. Si cela échoue, donnez la réponse à celui qui a les points les plus bas.


6 Réponses :


26
votes
<?php
$timestamp = strtotime('+6 years');
echo date('Y-m-d H:i:s', $timestamp);
?>

4 commentaires

Est-ce vraiment ce que vous faites cela dans PHP?


Je suppose que je suis gâté par l'objet DateTime .NET.


PHP propose également un objet DateTime, bien que son format de modification correspond à Strtotime's Awesome Voodoo. PHP.net/manual/fr/DateTime.Modify.php


Je pensais avec la classe DateTime que vous pourriez utiliser un format relatif en une seule ligne, mais cela fonctionnera certainement! Merci!



1
votes
strtotime('+6 years');
you can pass that timestamp into something like strftime();
strtotime

0 commentaires

1
votes

rire encore du commentaire de la chaospandion :) xxx

devrait faire le tour.


0 commentaires

-1
votes

189302400 est le nombre de secondes en 6 ans.

Obtenez l'horodatage actuel, puis ajoutez 189302400, puis convertissez l'horodatage en une chaîne de date.


4 commentaires

+1 pour omettre le code nécessaire et concentrer sur les horodatages


Cette période de six ans comprend-elle 0, 1 ou 2 années de saut? (1700, 1800, 1900, 2100, 2200, etc., ne sont pas des années saut.)


Bonne en théorie, mais brisée dans la pratique car elle ne compte pas correctement des années de bonds. 1997-2003 doit soustraire une journée depuis 2000 N'étaient pas une année bissextile et 2003-2009 doit ajouter une journée depuis 2004 et 2008. Cela suppose même que vous avez planifié pendant au moins une année bissextile dans les 6 ans.


2000 était une année de bissure: en.wikipedia.org/wiki/leap_year #Gregorian_calendar



1
votes

Votre description n'est pas très précise, mais écho date ("y-m-d", strtotime ("+ 6 ans")); pourrait être ce dont vous avez besoin ...


0 commentaires

3
votes
date_default_timezone_set('America/Los_Angeles'); //required if not set
$date = new DateTime('1/1/1981');
$date->modify('+60 year');
echo $date->format('Y-m-d');
Above is not affected by unix time stamp date range (before 1970 and after 2038). Also you can directly compare dates with Comparison operators directly, no need convert them to Time stamp.Requires PHP 5.3

0 commentaires