phpbar.de logo

Mailinglisten-Archive

[php] Datumsvergleich ohne Datenbank

[php] Datumsvergleich ohne Datenbank

Norbert Pfeiffer php_(at)_phpcenter.de
Wed, 27 Jun 2001 19:50:25 +0200


Hi,

> > function reverse_date($date) {
> >   list ( $e1, $e2, $e3 ) = split ('.', $date);
> >   return ($e3.'.'.$e2.'.'.$e1);
> > }
huebsche Idee,
deshalb gleich etwas weiterentwickelt:


function reverse_date($date, $new)
 {$sp=substr($date,strspn($date,"01123456789"),1);
  list($e1,$e2,$e3)=explode($sp,$date);
  return ($e3.$new.$e2.$new.$e1);
  }


Nun findet sie das vorhandene Trennzeichen selbst
und fuegt ein 'mitgegebenes' ein...

'split' musste 'explode' weichen, weil sonst der
landesuebliche Punkt nicht verarbeitet werden kann.



m.b.G.  Norbert
______________________
normal:   02292-681769
notfall:  0177-2363368
----------------------
e.o.m.

----- Original Message -----
From: Gloss Mathias <Mathias.Gloss_(at)_start.de>
To: <php_(at)_phpcenter.de>
Sent: Wednesday, June 27, 2001 2:44 PM
Subject: Re: [php] Datumsvergleich ohne Datenbank


Aloha,

> ----------
> Von: Henning Jödden[SMTP:henning_(at)_wonderpixel.de]
>
> > Oder einfach
> >
>
> oder einfach
>
> if (strrev($datum1) > strrev($datum2))  {
> ...
> }
>
> haste dir die Tipperei gespart ;)
>
Und wieder den gleichen Fehler...
dann ist das Jahr 1987 zwar vor 1966
( "6619.50.42" < "7891.11.21")

Aber das Datum 01.01.1968 (mit strrev: 8691.10.10) wär dann nach
dem 12.11.1987.

Man muss einfach unterscheiden ob das Datum als String verglichen
wird oder als Zahl - und darf auch nicht einfach die Strings nur umkehren.

Grüße, Mathias

--
** http://www.php-center.de **
Die PHP-Liste: mailto: php_(at)_phpcenter.de
http://lists.phpcenter.de/mailman/listinfo/php



php::bar PHP Wiki   -   Listenarchive