Comment puis-je trouver le premier samedi pour un mois et une année donnés (mois & sélectionné par un calendrier)? J'utilise PHP.Premier samedi pour un mois et une année sélectionnés
3
A
Répondre
9
Utilisez cette fonction:
<?php
/**
*
* Gets the first weekday of that month and year
*
* @param int The day of the week (0 = sunday, 1 = monday ... , 6 = saturday)
* @param int The month (if false use the current month)
* @param int The year (if false use the current year)
*
* @return int The timestamp of the first day of that month
*
**/
function get_first_day($day_number=1, $month=false, $year=false)
{
$month = ($month === false) ? strftime("%m"): $month;
$year = ($year === false) ? strftime("%Y"): $year;
$first_day = 1 + ((7+$day_number - strftime("%w", @mktime(0,0,0,$month, 1, $year)))%7);
return @mktime(0,0,0,$month, $first_day, $year);
}
// this will output the first saturday of january 2007 (Sat 06-01-2007)
echo strftime("%a %d-%m-%Y", get_first_day(6, 1, 2007));
?>
Crédits: php.net
[EDIT]: Une autre façon courte:
Utilisez strtotime() comme ceci:
$month = 1;
$year = 2007;
echo date('d/M/Y',strtotime('First Saturday '.date('F o', @mktime(0,0,0, $month, 1, $year))));
Cette sortie:
06/Jan/2007
0
Voici une doublure:
$firstSat = strtotime('first Saturday', strtotime("$month $year"));
Test:
foreach(array("Jan","Feb","Nov","Dec") as $month)
{
$year = '2017';
echo "$month, $year";
$firstSat = strtotime('first Saturday', strtotime("$month $year"));
$date = date('Y-M-d', $firstSat);
echo " $firstSat $date <br>" ;
}
Sorties:
Jan, 2017 1483747200 2017-Jan-07
Feb, 2017 1486166400 2017-Feb-04
Nov, 2017 1509753600 2017-Nov-04
Dec, 2017 1512172800 2017-Dec-02
Questions connexes
- 1. Comment vérifier le premier samedi du mois en PHP?
- 2. De mois en mois et année
- 3. jquery - jour mois année validation
- 4. comment obtenir les jours pour un mois donné et année
- 5. Comment créer une heure UTC en C pour un jour, un mois et une année spécifiques?
- 6. AJAX Extender calendrier sélectionner mois et année
- 7. Transformer Datetime en mois, jour et année?
- 8. PHP itérer jours du mois donné mois et année
- 9. php var année et le mois
- 10. Javascript pour le mois générer et année dropdowns
- 11. Trouver les dates d'un jour particulier pour une année et un mois donnés + Sql Server 2005
- 12. Récupère l'horodatage unix du début et de la fin pour un mois et une année donnés en php
- 13. mysql retourner les lignes correspondant année mois
- 14. Cliquez sur le mois dans le calendrier Silverlight en mode année, obtenir le mois sélectionné et rester en mode année?
- 15. Grouper par mois et par année dans MySQL
- 16. NSDate pour le premier jour du mois
- 17. Année à ce jour par mois
- 18. entrées de blog par année, annonce mois
- 19. mois Get de date heure mois maintenant, Obtenez année de temps date maintenant année et écrire jour spécifique
- 20. Comment formater en axes R, année et mois
- 21. recherche d'un contrôle sélecteur mois/année pour .form winform
- 22. SQL Server 2005 Récupère la première et la dernière date d'un mois dans une année
- 23. Comment obtenir le nombre de jours dans un mois et une année donnés?
- 24. groupe par année, mois, jour dans un sqlalchemy
- 25. premier jour du même mois
- 26. Possibilité de "réinitialiser" le mois/jour/année surligné par UIDatePicker?
- 27. requête pour trouver le deuxième samedi de chaque mois de l'année
- 28. Une seule expression pour obtenir la date d'hier et le premier jour du mois
- 29. Grouper par année, mois, semaine, jour dynamiquement dans Crystal Reports
- 30. Comment décomposer un NSTimeInterval en année, mois, jours, heures, minutes et secondes sur iPhone?
salut Shamit bro .. d'abord tout le monde pour votre réponse. mais dans les deux cas il montre un avertissement comme Avertissement: mktime() attend le paramètre 4 pour être long, chaîne donnée ... je suis entièrement nouveau à php alors pourriez-vous m'aider à trier ce .. thx. – bsrreddy
@bsrreddy, j'ai mis à jour les deux codes pour supprimer les avertissements. Essayez maintenant. – shamittomar
hmm ... le code fonctionne bien bro. mais le résultat n'est pas correct. J'ai choisi 02-jan-2010 dans mon calendrier où cette date est un premier samedi de ce mois. mais le résultat est 03/Jan/2009 où il devrait être 02/jan/2009. – bsrreddy