J'ai commencé à générer un tableau contenant un calendrier de 12 mois à partir de ce (maintenant) mois. C'est pour une application particulière, et nécessite un code spécial, donc je ne peux pas utiliser les bibliothèques de calendrier.Génération du calendrier Échec étrange
Voici le code que j'ai:
header('Content-type: text/plain');
$Cal1 = array();
$now = new fTimestamp('now');
$now = $now->modify('Y-m-1 00:00:00');
for ($i = 0; $i < 12; $i++) {
if ($i > 1) {
$then = $now->adjust("+$i months");
}
elseif ($i == 1) {
$then = $now->adjust("+1 month");
}
else {
$then = $now;
}
$thisMonth = $then->format('F');
$Cal1[$thisMonth] = array();
$thisMonthDays = $then->format('t');
for ($j = 0; $j < $thisMonthDays; $j++) {
if ($i > 1) {
$then = $then->adjust("+$i days");
}
elseif ($i == 1) {
$then = $then->adjust("+1 day");
}
$thisDate = $then->format('j');
$thisDay = $then->format('l');
$Cal1[$thisMonth][$thisDate] = $thisDay;
}
}
var_dump($Cal1);
Cela devrait générer un tableau de la forme:
array {
["Month_Name"] => array {
[Day_Number] => "Day_Name"
etc...
}
etc...
}
Le script affiche le bon nombre de mois, mais pas le nombre exact de jours. .. Le vidage complet est assez long, donc je ne publierai que Octobre, Février et Mars:
array(12) {
["October"]=>
array(1) {
[1]=>
string(6) "Friday"
}
["February"]=>
array(22) {
[5]=>
string(8) "Saturday"
[9]=>
string(9) "Wednesday"
[13]=>
string(6) "Sunday"
[17]=>
string(8) "Thursday"
[21]=>
string(6) "Monday"
[25]=>
string(6) "Friday"
[1]=>
string(7) "Tuesday"
[29]=>
string(7) "Tuesday"
[2]=>
string(8) "Saturday"
[6]=>
string(9) "Wednesday"
[10]=>
string(6) "Sunday"
[14]=>
string(8) "Thursday"
[18]=>
string(6) "Monday"
[22]=>
string(6) "Friday"
[26]=>
string(7) "Tuesday"
[30]=>
string(8) "Saturday"
[4]=>
string(9) "Wednesday"
[8]=>
string(6) "Sunday"
[12]=>
string(8) "Thursday"
[16]=>
string(6) "Monday"
[20]=>
string(6) "Friday"
[24]=>
string(7) "Tuesday"
}
["March"]=>
array(19) {
[6]=>
string(6) "Sunday"
[11]=>
string(6) "Friday"
[16]=>
string(9) "Wednesday"
[21]=>
string(6) "Monday"
[26]=>
string(8) "Saturday"
[31]=>
string(8) "Thursday"
[5]=>
string(8) "Thursday"
[10]=>
string(7) "Tuesday"
[15]=>
string(6) "Sunday"
[20]=>
string(6) "Friday"
[25]=>
string(9) "Wednesday"
[30]=>
string(6) "Monday"
[4]=>
string(6) "Monday"
[9]=>
string(8) "Saturday"
[14]=>
string(8) "Thursday"
[19]=>
string(7) "Tuesday"
[24]=>
string(6) "Sunday"
[29]=>
string(6) "Friday"
[3]=>
string(9) "Wednesday"
}
Maintenant, quel est le problème?
Qu'est-ce que la classe 'fTimestamp' ...? – deceze
Ceci est fourni par le Flourish Unframework: http://flourishlib.com/docs/fTimestamp#Formatting –