8
votes

PHP: Comment devenir dimanche et samedi donné une entrée de date?

Comment puis-je obtenir le dimanche et le samedi de la semaine donnée une date précise?

Par exemple:

Entrée: lundi 28 septembre 2009

La sortie doit être:

dimanche 27 septembre 2009 12h00 - Samedi 3 octobre 2009 11:59

Je pense à utiliser la date , strtotime , mktime et heure fonctions PHP.

Si vous avez une fonction utilisable, c'est aussi bien avec moi.

Merci d'avance :)

acclamations, Mark


0 commentaires

10 Réponses :


3
votes

Jetez un coup d'œil à STRTOTIME

IE P>

strtotime('next sunday', strtotime($your_date_string));


0 commentaires

0
votes

strtotime xxx


0 commentaires

0
votes
<?php

$date = strtotime('Monday, September 28, 2009 - 1 day');
$initialString =  date('l, F d, Y g:i A', $date);
$end = date('l, F d, Y g:i A', strtotime( 'next saturday 11:59 pm', $date));

echo $initialString . ' - ' . $end; 
output:
Sunday, September 27, 2009 12:00 AM - Saturday, October 03, 2009 11:59 PM

0 commentaires

20
votes

Vous utilisez strtotime () code> et date () code> :

Input: Monday, September 28, 2009
Output: Sunday, September 27, 2009 12:00 PM - Saturday, October 3, 2009 11:59 AM


2 commentaires

Merci pour ce sirletus. Je pense que c'est beaucoup lisible et plus facile à utiliser à mon avis :)


Merci monsieur pour les solutions!



9
votes
<?php

date_default_timezone_set('Europe/London');

$datetime = new DateTime("2009-09-23 12:00:00");

// Saturday
$datetime->setISODate(2009, $datetime->format("W"), 6);
print "Saturday:" . $datetime->format(DATE_ATOM) . "\n";
// Sunday
$datetime->setISODate(2009, $datetime->format("W"), 0);
print "Sunday: " . $datetime->format(DATE_ATOM) . "\n";


?>

2 commentaires

Nice, DateTime est relativement nouveau - non?


@meder: disponible par défaut à partir de 5,2, publié à la fin de 2006. Il est disponible sur PACL pour 5.1.



1
votes

écho date ("y-m-d h: i: s", strtotime ("dimanche dernier", heure ()));

écho date ("Y-M-D H: I: S", Strtotime ("Samedi prochain", Time ()));


0 commentaires

0
votes

C'est ce que vous cherchez. C'est ce que j'utilise. XXX


0 commentaires

0
votes

Vous pouvez trouver mon temps de date d'atteleur très pratique dans ce cas, il peut finir en 3 lignes

http://normandqq.github.io/date-time-helper/ p> xxx pré>

OUT MIS: P>

    2013-08-05 //Monday
    2013-08-11 //Sunday


0 commentaires

1
votes

Le problème avec la réponse "correcte" est que si la date fournie est dimanche? Ensuite, cela vous donnera le dimanche précédent, au lieu du dimanche actuel. Même problème avec samedi. XXX


2 commentaires

Je suis venu ici à la recherche de cette nuance: mes frontières de week-end ont été fausses, à cause de ce que vous avez souligné (et ne l'a vu que pendant le test de week-end!). Y a-t-il une raison pour laquelle vous utilisez des frontières de jour de 12h au lieu de minuit (12h)?


On dirait que j'aurais peut-être copié et collé des parties de la réponse originale et apporté les changements nécessaires. Autre que cela, pour le moment, je ne peux penser à aucun autre raisonnement.



0
votes

Obtenez le dimanche PHP Code:

echo "Today Is : " . date("d-m-Y"); 
$dw = date( "w");
$dw = 7-$dw;
echo "\nNext Sunday Is" .date('d-m-Y', strtotime("+$dw days")); 


0 commentaires