Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[PHP] Funktion für Datumsbestimmung - Hirnblokade

Empfohlene Antworten

Veröffentlicht

Hallo Zusammen,

ich zermatere mir gerade den Kopf um folgenden Problembeschreibung in PHP umzusetzten, aber irgendwie hab ich nen blackout und komm auf keine Idee wie ich das schnell umsetzten könnte.

Vielleicht könnte mir nen Anstoß geben oder evtl. bereits eine bekannte Lösung sagen. Wäre euch sehr dankbar.

Unr hier die Problemstellung:

Ich habe folgenden Input:

Startdatum [dd.mm.yyyy] Enddatum [dd.mm.yyyy}

Wochentage

Mo [ ] Di [ ] Mi [ ] Do [ ] Fr [ ] Sa [ ] So [ ]

Also man gibt Start und Enddatum ein sowie die Wochentage, die man Wünscht.

Als ergebnis bräucht ich dann alle Daten zwischen Start und Enddatum deren Wochentage angekreuzt waren.

Beispiel:

Start: 01.09.04 End: 12.09.04

Wochentage: Mo, Mi, Fr

Ergebnis:

01.09.04

03.09.04

06.09.04

08.09.04

10.09.04

Vielleicht könnt ihr mir auf die Sprünge helfen.

Wäre euch dankbar.

Grüße

OracleFAN

hm ich würde aus beiden "Daten" einen Timestamp errechenen und damit schon mal dein Datum eingrenzen.

Den rest mit den wochentagen würde ich dann mit der Funktion date und dem format "w" erledigen.

siehe:

http://de2.php.net/manual/en/function.date.php

Hi,

danke für deine Antwort. Allerdings habe ich nicht so ganz verstanden wie du das meinst.

Timestamp?

Und wie hilft mir die Funktion date mit option w weiter.

Kannst du mir das vielleicht an einem Codeschnipsel erklären?

Danke

OracleFAN

Timestamp?

Der Unix-Timestamp kennzeichnet die Anzahl der Sekunden die seit dem 13.12.1901 20:45:54 GMT vergangen sind.

Du kannst ein bestehendes Datum mit diversen PHP-Funktionen in einen Timestamp verwandeln, in Deinem Fall würde ich das Datum zerlegen und per

mktime in den Timestamp unwandeln. Dann baust Du eine Schleife der Form


//Achtung: Ungetesteter Aus-der-hohlen-Hand-Code
for ($aktdatum = $ts_startdatum; $aktdatum <= $ts_enddatum; $aktdatum += 86400) // Ein Tag hat 86400 Sekunden
{
if (isset($_POST["wochentag".date("w",$aktdatum)]))
{
echo (date("d.m.Y",$aktdatum)."<br>");
}
}
[/php]

Dafür müssen dann Deine Wochentags-Checkboxen als <input name="wochentag0"...> definiert sein.

Müsste so oder so ähnlich eigentlich funktionieren! ;)

HTH,

ICQ

Hey ICQ

ich habe deinen Vorschlag gerade getestet und es hat wunderbar geklappt!

Danke für deine Hilfe.

Hast mir viel Arbeit erspart, denn ich haben an ganz seltsamen konstrukten gebaselt die alle total bescheuert sind, nachdem ich deinen Vorschlag gesehen habe!!!

Danke nochmal

Grüße

OracleFAN

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.