2010-12-05 5 views
2

En PHP, je génère un calendrier avec le code here. Je l'ai connecté avec Basecamp et je calcule avec succès les heures travaillées chaque jour et les somme pour la semaine et le mois. Pour calculer correctement les heures supplémentaires, j'ai besoin des heures de toute la semaine, même si elle s'étend sur la fin/le début d'un mois.Derniers jours du mois précédent

alt text

Après plusieurs heures d'essayer, je ne l'ai pas été en mesure de calculer les dates des jours marqués avec '? dans l'image ci-dessus.

Je ne peux pas échapper au sentiment que je manque quelque chose d'évident ici, mais je n'ai pas réussi à le comprendre. Toute aide très appréciée, merci.

Répondre

3

Vous pouvez utiliser mktime() et définir un argument jour qui est inférieur à 1: 0 pour le dernier jour, -1 le jour avant le dernier jour, etc.

qui vous donne un horodatage UNIX vous pouvez utiliser pour trouver le jour de la semaine, puis - jusqu'à ce que vous avez atteint dimanche/lundi (quelle que soit la semaine que vous commencez à utiliser) - soustrait -86400 ou appelez mktime() à nouveau le jour réduit de 1.

Exemple:

mktime(0, 0, 0, 12, -1, 2010); # timestamp of Nov 29th 00:00:00 2010 
+0

Cela a fonctionné. Merci beaucoup – SKFox

Questions connexes