SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Webseiten professionell erstellen

Webseiten professionell erstellen zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 07.06.2008, 15:01:00
Willow Willow ist offline
Junior Member
 
Registriert seit: Sep 2002
Beiträge: 271
datumsprüfung

kennt jemand eine möglichkeit, ein datum zu überprüfen?
(genauer: ein datum, das auch vor dem 1.1.1970 liegen kann ...)
Mit Zitat antworten
  #2  
Alt 07.06.2008, 15:31:27
Willow Willow ist offline
Junior Member
 
Registriert seit: Sep 2002
Beiträge: 271
AW: datumsprüfung

ergänzung: "checkdate" funktioniert NICHT - weder wird der 30.2.2007 als falsch erkannt, noch lässt sich die funktion durch einen buchstaben, den ich ins datum gamcht habe aus der fassung bringen.
Mit Zitat antworten
  #3  
Alt 07.06.2008, 16:58:17
ksticker ksticker ist offline
Member
 
Registriert seit: Nov 2007
Ort: Karlsruhe, Dresden
Alter: 35
Beiträge: 596
ksticker eine Nachricht über ICQ schicken
AW: datumsprüfung

Da ich jetzt nich weiß ob es eine php-funktion dafür gibt würde ich es so machen:

mach ein mehrdimensionales Array und Speicher dort die Anzahl der Tage zu einem Monat hinein.

z.B.: $monate['Juni'][30]

Dann noch eine if
--> wenn (int)eingabe <= $monate[$monat] dann korrekt.
Mit Zitat antworten
  #4  
Alt 07.06.2008, 17:56:34
Willow Willow ist offline
Junior Member
 
Registriert seit: Sep 2002
Beiträge: 271
AW: datumsprüfung

gut und schön - ist aber eher kompliziert - denn wie halte ich es mit fem februar ... (schaltjahr)?
Mit Zitat antworten
  #5  
Alt 07.06.2008, 17:59:53
ksticker ksticker ist offline
Member
 
Registriert seit: Nov 2007
Ort: Karlsruhe, Dresden
Alter: 35
Beiträge: 596
ksticker eine Nachricht über ICQ schicken
AW: datumsprüfung

Zitat:
Zitat von Willow Beitrag anzeigen
gut und schön - ist aber eher kompliziert - denn wie halte ich es mit fem februar ... (schaltjahr)?
Wozu gibt es das Oder?
Mit Zitat antworten
  #6  
Alt 07.06.2008, 18:03:43
Benutzerbild von Area51
Area51 Area51 ist offline
Junior Member
 
Registriert seit: Mar 2008
Ort: Heidelberg
Alter: 32
Beiträge: 164
Area51 eine Nachricht über ICQ schicken Area51 eine Nachricht über AIM schicken Area51 eine Nachricht über MSN schicken
AW: datumsprüfung

Schaltjahrprüfung:

PHP-Code:
if (date ('L') == 1)
{
  echo 
date ('Y').' ist ein Schaltjahr';

Mit Zitat antworten
  #7  
Alt 07.06.2008, 18:06:10
ksticker ksticker ist offline
Member
 
Registriert seit: Nov 2007
Ort: Karlsruhe, Dresden
Alter: 35
Beiträge: 596
ksticker eine Nachricht über ICQ schicken
AW: datumsprüfung

Was man natürlich auch machen kann das man den Februar so macht:

$datum['Februar'][28][29]

da kann man ja dann überprüfen ob die eingabe in dem array ist.
Mit Zitat antworten
  #8  
Alt 08.06.2008, 21:25:00
Willow Willow ist offline
Junior Member
 
Registriert seit: Sep 2002
Beiträge: 271
AW: datumsprüfung

ich habe inzwischen das problem durch eine function (die als rückgabe-wert 0 liefert, wenn das datum nicht ok ist, 1, wenn es ok istgelöst:

Code:
function chkDatum($datum)
{
	// datum: datum im format YYYY-MM-DD
         $datum_arr=explode("-",$datum);
         // array mit den tagen
         $mt_num=array(0,31,28,31,30,31,30,31,31,30,31,30,31);
         // änderung array[2], wenn schaltjahr --> $datum_arr[0]%4 ist dann 0
         if ($datum_arr[0]%4==0) $mt_num[2]=29;
         // initialisierung der prüfsumme:
         $dt_check=0;
         // jahre muss vierstellig sein
         if ($datum_arr[0] >999) $yr=1;
         else $yr=0;
         // monat bis max. 12
         if (($datum_arr[1] <13 ) && ($datum_arr[1]>0)) $mt=1;
         else $mt=0;
         // umwandlung monat in numerisch / index von $mt_num
         $index= $datum_arr[1]/1 ;
         if ($datum_arr[2] <= $mt_num[$index]) $dy=1;
         else $dy=0;
         // wenn alle drei werte ok: datum ist ok
         if ($yr+$mt+$dy==3) $dt_check=1;
         return $dt_check;
}
vielleicht weiss jemand eine kürzere (einfachere) lösung?
Mit Zitat antworten
  #9  
Alt 10.06.2008, 03:36:53
smartweb smartweb ist offline
Anfänger
 
Registriert seit: Jun 2008
Alter: 57
Beiträge: 60
AW: datumsprüfung

Zitat:
Zitat von Willow Beitrag anzeigen
ich habe inzwischen das problem durch eine function (die als rückgabe-wert 0 liefert, wenn das datum nicht ok ist, 1, wenn es ok istgelöst:

...

vielleicht weiss jemand eine kürzere (einfachere) lösung?
Vielleicht checkdate() richtig verwenden?

Code:
$datum = "2007-02-29";
list($y,$m,$d) = explode("-",$datum); 

var_dump(checkdate($m,$d,$y)); // false

$datum = "2007-02-aa";
list($y,$m,$d) = explode("-",$datum); 
var_dump(checkdate($m,$d,$y)); // Warning: checkdate() expects parameter 2 to be long, string given
__________________
Florian Wiessner

Smart Weblications GmbH
Martinsberger Str. 1
D-95119 Naila

fon.: +49 700 762 789 32 - 0,12 EUR/Min*
fax.: +49 700 762 789 32 - 0,12 EUR/Min*
24/7: +49 900 311 886 00 - 1,99 EUR/Min*
http://www.smart-weblications.de

--
Sitz der Gesellschaft: Naila
Geschäftsführer: Florian Wiessner
HRB-Nr.: HRB 3840 Amtsgericht Hof
*aus dem dt. Festnetz, ggf. abweichende Preise aus dem Mobilfunknetz
Mit Zitat antworten
  #10  
Alt 13.06.2008, 19:43:55
Willow Willow ist offline
Junior Member
 
Registriert seit: Sep 2002
Beiträge: 271
AW: datumsprüfung

thx.

genau das ahtte ich versucht - erfolglos. aber offenbar hatte ich irgend einen (tipp?-)fehler eingebaut, den njetzt klapps!
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:15:13 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt