Arriver le premier / dernier jour de la semaine
Est-il possible d'obtenir la première /dernière date d'une semaine à l'aide de PHP Relative de la Date format de l'Heure?
J'ai essayé de faire:
date_default_timezone_set('Europe/Amsterdam');
$date = new DateTime();
$date->modify('first day of this week'); //to get the current week's first date
echo $date->format('Y-m-d'); //outputs 2011-12-19
$date->modify('first day of week 50'); //to get the first date of any week by weeknumber
echo $date->format('Y-m-d'); //outputs 2011-12-18
$date->modify('last day of this week'); //to get the current week's last date
echo $date->format('Y-m-d'); //outputs 2011-12-17
$date->modify('last day of week 50'); //to get the last date of any week by weeknumber
echo $date->format('Y-m-d'); //outputs 2011-12-18
Comme vous pouvez le voir il n'a pas de sortie à la date correcte.
Selon les docs cela devrait être possible si je suis correct.
Suis-je en train de faire quelque chose de terrible mal?
MODIFIER
J'ai besoin de PHP DateTime pour les dates dans le futur.
Mise à JOUR
Il obtient seulement un étranger maintenant. J'ai fait quelques tests supplémentaires.
Windows PHP 5.3.3
2011-12-01
Warning: DateTime::modify() [datetime.modify]: Failed to parse time string (first day of week 50) at position 13 (w): The timezone could not be found in the database in C:\Users\Gerrie\Desktop\ph\Websites\Charts\www.charts.com\public\index.php on line 9
2011-12-01
2011-11-30
Warning: DateTime::modify() [datetime.modify]: Failed to parse time string (last day of week 50) at position 12 (w): The timezone could not be found in the database in C:\Users\Gerrie\Desktop\ph\Websites\Charts\www.charts.com\public\index.php on line 15
2011-11-30
Linux 5.3.8
2011-12-01
2011-12-01
2011-11-30
2011-11-30
N'est-ce pas comme dépendent de l'endroit, si le dimanche ou le lundi est le premier jour de la semaine?
Je ne sais pas à vous de me le dire. De toute façon les deux premiers éléments de sortie de la même chose. En va de même pour les deux dernières à mon humble avis. Si elle commence un dimanche / lundi
Je ne sais pas à vous de me le dire. De toute façon les deux premiers éléments de sortie de la même chose. En va de même pour les deux dernières à mon humble avis. Si elle commence un dimanche / lundi
OriginalL'auteur PeeHaa | 2011-12-16
Vous devez vous connecter pour publier un commentaire.
Selon les docs les chaînes de format "premier jour" et "dernier jour" ne sont autorisés que pour des mois, pas pendant des semaines. Voir http://www.php.net/manual/en/datetime.formats.relative.php
Si vous combiner le premier et le dernier jour d'une semaine de déclaration, le résultat est que les coups de l'analyseur ou est quelque chose que vous ne vous attendiez pas (généralement le premier ou le dernier jour d'un mois, pas une semaine).
La différence que vous voyez entre Win et Linux est probablement seulement en raison de différents rapports d'erreur paramètres.
Pour obtenir le premier et le dernier jour de la semaine en cours d'utilisation:
Pour obtenir le premier et le dernier jour de la semaine 50 utilisation:
EDIT:
Si vous souhaitez utiliser la méthode de modification absolue pour les numéros de semaine, vous devez utiliser les formats définis dans http://www.php.net/manual/en/datetime.formats.compound.php:
Les docs disent: 'premier jour' de'? Définit le jour du premier du mois en cours. Cette phrase est préférable de l'utiliser avec un nom de mois suivant.
Et oui, vous pouvez également utiliser la méthode modify() pour obtenir absolu semaines. Voir mon montage ci-dessus.
grande maintenant, où en sommes se rendre quelque part. Juste une dernière chose. Si j'utilise
2011W50
il n'a pas obtenir de l'actuel semaines dates (c'est la semaine ISO 50 maintenant). Je reçois les dates correctes lorsque j'utilise2011W48
. Des idées?travailler comme un charme thx
OriginalL'auteur Jpsy
Je suis un grand fan de l'utilisation de la De carbone de la bibliothèque, ce qui le rend ce genre de chose très facile. Par exemple:
Ou, si vous préférez dimanche est le premier jour de votre semaine:
c'est la solution
OriginalL'auteur Jonathan
si le premier jour de la semaine est le lundi
sinon si le premier jour est le dimanche
parce que, dans différents pays, premier jour de la semaine peut-être lundi ou le dimanche
OriginalL'auteur Vitaly
C'est ce que j'utilise pour obtenir le premier et le dernier jour de la semaine à partir de toute date.
Dans ce cas, le lundi est le premier jour de la semaine...
OriginalL'auteur ThEBiShOp
OriginalL'auteur sonia mehta
OriginalL'auteur Anudeep Sharma