comment obtenir la date pour des vacances à l'aide de php
Par exemple:
- 3ème lundi de janvier pour Martin Luther King Day
- 3ème lundi de février pour Presidents' Day (Washington Anniversaire)
- Dernier dimanche de Mars pour de Pâques
- Dernier lundi du mois de Mai pour Journée de commémoration de l'
Je suis en train d'essayer d'obtenir ces dates, afin que je puisse marquer sur mon calendrier sans manuellement en mettant tout pour les années à venir.
MODIFIÉ RÉPONSE!!
$curYir = date("Y");//current year
$MLK = date('Y-m-d', strtotime("january $curYir third monday")); //marthin luthor king day
$PD = date('Y-m-d', strtotime("february $curYir third monday")); //presidents day
$Est = date('Y-m-d', easter_date($curYir))); //easter
$MDay = date('Y-m-d', strtotime("may $curYir first monday")); //memorial day
//("may $curYir last monday") will give you the last monday of may 1967
//much better to determine it by a loop
$eMDay = explode("-",$MDay);
$year = $eMDay[0];
$month = $eMDay[1];
$day = $eMDay[2];
while($day <= 31){
$day = $day + 7;
}
if($day > 31)
$day = $day - 7;
$MDay = $year.'-'.$month.'-'.$day;
$LD = date('Y-m-d', strtotime("september $curYir first monday")); //labor day
$CD = date('Y-m-d', strtotime("october $curYir third monday")); //columbus day
$TH = date('Y-m-d', strtotime("november $curYir first thursday")); //thanks giving
//("november $curYir last thursday") will give you the last thursday of november 1967
//much better to determine it by a loop
$eTH = explode("-",$TH);
$year = $eTH[0];
$month = $eTH[1];
$day = $eTH[2];
while($day <= 30){
$day = $day + 7;
}
if($day > 30)
//watch out for the days in the month November only have 30
$day = $day - 7;
$TH = $year.'-'.$month.'-'.$day;
- Ressemble à un paquet pear fait ce que vous voulez pear.php.net/package/Date_Holidays/redirected
Vous devez vous connecter pour publier un commentaire.
Vous pouvez tirer parti de cette fonction de php. la fonction strtotime
MLK Day -
Présidents Jour -
De pâques -
Journée De Commémoration De L' -
La fonction strtotime fonction est utile ici, mais il semble avoir quelques particularités sur la façon dont il interprète les anglais verbiage. Assurez-vous de vérifier vos mots avec soin et vérifiez vos résultats.
Par exemple, ce qui semble comme il devrait fonctionner, mais il sera de retour pour le dernier lundi d'avril ($currentYear = 2014)!
Cependant, ce libellé sera de retour le bon de vacances pour 2014.
Et cela va vous donner la bonne date pour les vacances de l'année prochaine.
Le PHP page de doc a d'autres commentaires sur son utilisation.
Prendre soin
De cette façon, a travaillé pour moi.
Ensuite, vous pouvez imprimer les vacances par l'appel de la fonction
echo get_holiday('new_year');
Et le résultat pour 2015 devraient être
20150101
Solution pour le déplacement des jours fériés en Allemagne: retourne un tableau de 'Y-m-d' formatage de chaînes de caractères, y compris le vendredi saint, lundi de pâques, ascencion, et le lundi de la pentecôte.
Un nouvel objet DateTime pour pâques ist créé pour chaque jour afin d'améliorer la lisibilité.