[php] mktime probleem

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Tjeemp
  • Registratie: Januari 2005
  • Laatst online: 03-01-2015

Tjeemp

BEER N TEA

Topicstarter
ik gebruik de mktime functie om data te krijgen. en ik heb nu boven een pagina een strook met 5 dagen.

het is daar ook mogelijk dat het eerste blok uit een vorige maand is. omdat de middelste altijd de geselecteerde is. hier zit echter het probleem. Als de geselecteerde datum een andere maand is dan de eerste loopt het fout en ik kan echt niet vinden waar het probleem nu zit.
ik hoop dat iemand me hiermee kan helpen, misschien is het simpel en zie ik het gewoon over het hoofd.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$day = date("j", $date) -2;
                    $time = mktime(0, 0, 0, date("n", $date), $day, date("Y", $date));
                    $month = date("n", $time);
                    $year = date("Y", $time);
                    for ($i = 1; $i <= 5; $i++) {
                        if($day > date("t", $time)) {
                            $day = "1";
                            $month = $month +1;
                            if($month > 12) {
                                $month = "1";
                                $year = $year +1;
                            }
                        }
                        if($day < 1) {

                            echo $month;
                            if($month < 1) {
                                $month = "12";
                                $year = $year -1;
                            }
                            $day = date("t", mktime(0, 0, 0, $month, 0, $year));
                        }
                        $currday = mktime(0, 0, 0, $month, $day, $year);


$date is een waarde die vanaf een andere pagina meegestuurd wordt, een unix timestamp

http://82.92.37.54/~timo/...ge=events&date=1141167600
(voorbeeldje van een datum waarbij het fout gaat...

www.timovanderzanden.nl | Beer 'n' Tea


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Als je nu eens strtotime gebruikt in plaats van mktime, dan kun je zoiets doen:
PHP:
1
2
3
4
$datum = time();  // nu
$gisteren   = strtotime("-1 day", $datum);
$morgen     = strtotime("+1 day", $datum);
$vorigeweek = strtotime("-1 week", $datum);

Ik neem aan dat je het idee snapt? :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Tjeemp
  • Registratie: Januari 2005
  • Laatst online: 03-01-2015

Tjeemp

BEER N TEA

Topicstarter
het is nog makkelijker dan ik dacht haha... scheelt ook weer flink code ;)

danku

www.timovanderzanden.nl | Beer 'n' Tea