2Danke
ERLEDIGT
NEIN
NEIN
ANTWORTEN
9
9
ZUGRIFFE
790
790
EMPFEHLEN
-
21.02.10 15:12 #1
- Registriert seit
- Aug 2009
- Beiträge
- 25
Moin Moin,
ich habe eine kurze frage! ich bin auf der suche nach einer Möglcihkeit die Wochentage zu berechnen.
Folgende Problemstellung:
Ich muss einen Datumsbereich angeben: bsp. 01.01.2010 bis 31.07.2010
Ich bin auf der suche nach einen Script das mir folgendes berechnet:
Anzahl an Wochentagen: Montag 15 x, Dientag 16 x, Mittwoch 10x u.s.w
Bin für jeden hinweiß dankbar !
Alex
-
Wie kann es in diesem Zeitraum den Montag 15x und den Mittwoch nur 10x geben?
Wenn sieben Tage um sind, dann hast du eine Woche, also addierst du zu jedem Wochentag einen dazu.
Du musst nur den Starttag rausfinden und mit dem Endtag abgleichen.mfg Nils
Problem gelöst?
Dann bitte das Thema als erledigt anhaken
und die Antwort bewerten, die weitergeholfen hat.
Danke!
-
21.02.10 19:04 #3
- Registriert seit
- May 2006
- Ort
- There is no place like 127.0.0.1
- Beiträge
- 3.521
Man könnte es auch ein Script erledigen lassen.
Zugegeben, ist etwas "unperformant" funktioniert aberPHP-Code:<?php
$s = "01.01.2010";
$e = "31.07.2010";
$sd = strtotime($s);
$ed = strtotime($e);
$weekdays = array();
for($i = $sd ; $i < $ed; $i+=86400)
{
$weekday = date("D", $i);
if(!isset($weekdays[ $weekday ]))
$weekdays[ $weekday ] = 1;
else
$weekdays[ $weekday ] ++;
}
echo "<pre>";
print_r($weekdays);
echo "</pre>";
?>
Grüße
--
Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)
-
21.02.10 20:47 #4
- Registriert seit
- Aug 2009
- Beiträge
- 25
Moin Moin Saftmeister,
Genau das ist es was ich suche
Vielen Dank !
Jetzt wäre es noch die Absolute krönung wenn Du mir erzählen könntest wie ich die ergebnisse in eine Variable bekomme ?
Ich nehme mal an das Array in Variablen schreiben, oder ?
Aber so weit schon einmal sehr vielen Dank !
Alex
-
$weekdays ist doch schon eine Variable.
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
22.02.10 14:54 #6
- Registriert seit
- Aug 2009
- Beiträge
- 25
KLar ist $Weekdays eine Variable, aber ich brauche die einzelnen Tage in einer Variable !
-
Sorry, aber ich versteh nicht wie du das meinst.
Die Einzelnen Tage in einer Variable oder pro Tag eine Variable oder wie?
Mach mal ein Beispiel wie das Resultat aussehen soll. Dann finden wir heraus wie du dahin kommst.---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
22.02.10 15:11 #8
- Registriert seit
- Aug 2009
- Beiträge
- 25
Genau das meine ich !
Jeden Tag der Woche in einer einzelnen Variable !
Aber müsste das nicht gehen mit
PHP-Code:$mon = $weekdays[3];
-
das geht nicht, da der Index keine Zahl sondern die englische Kurzform des Wochentages ist.
Aber hier sind 2 weitere Lösungen (wobei ich die erste hübsch finde
PHP-Code:<?php
$date = $start = strtotime('01.01.2010');
$end = strtotime('31.03.2010');
//Wochentage zählen
while($date < $end){
$weekdays[date('l', $date)]++;
$date = $date + 86400;
}
//Key auf kleinschreibung wandeln und als Variablennamen brauchen
extract(array_change_key_case($weekdays, CASE_LOWER));
var_dump($monday, $tuesday, $wednesday, $thursday, $friday, $saturday, $sunday);
//oder so:
//Zurücksetzen
$date = $start;
$weekdays = NULL;
//Wochentage zählen
while($date < $end){
$weekdays[strftime('%w', $date)]++;
$date = $date + 86400;
}
//Weekdays nach Index sortieren
ksort($weekdays);
//Indexe benamsen
$names = array(0 => 'sonntag', 1 => 'montag', 2 =>'dienstag', 3 => 'mittwoch', 4 => 'donnerstag', 5 => 'freitag', 6 => 'samstag');
//Bennante Indexe die Werte zuordnen und als Varibalen ausgeben
extract(array_combine($names, $weekdays));
var_dump($montag, $dienstag, $mittwoch, $donnerstag, $freitag, $samstag, $sonntag);
?>---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
22.02.10 16:15 #10
- Registriert seit
- Aug 2009
- Beiträge
- 25
Klasse genau das ist es was ich gesucht habe !
Vielen Dank !
Ähnliche Themen
-
date() und Wochentage auf Deutsch
Von HeinerK im Forum PHPAntworten: 5Letzter Beitrag: 09.06.11, 19:22 -
Wochentage und Zeiträume in Datenbank ablegen
Von TutorialKing im Forum Relationale DatenbanksystemeAntworten: 9Letzter Beitrag: 04.07.08, 11:58 -
kann man irgendwie die Wochentage errechnen
Von son gohan im Forum Coders TalkAntworten: 3Letzter Beitrag: 15.04.08, 23:15 -
Wochentage/Wochenendtage zwischen 2 Timestamps
Von kpone im Forum PHPAntworten: 5Letzter Beitrag: 20.06.06, 14:36 -
datum aller Wochentage
Von pb_sergio im Forum PHPAntworten: 7Letzter Beitrag: 10.06.05, 12:52





Zitieren


Login






[PHP][Snippet] Array zu XML konvertieren