WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik



Im Homepage und Webhosting-Forum --- Kalenderdatum berechnen

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.

Forum » PHP & MySQL » Kalenderdatum berechnen - 18 April 2024 Antworten
im Forum für Webhosting Homepage gefunden:
Kalenderdatum berechnen
neueinsteiger
Pixelschubser
Threadstarter




Beiträge: 2

Hallo zusammen,
ich habe folgendes Problem:

Ich möchte vom aktuellen Datum aus den 1.ten Freitag im nächsten Montag berechnen lassen.

Wie stelle ich das an?

Danke für Eure Hilfe

  Profil   Editieren   Zitieren
raiserle
Mausakrobat




Beiträge: 172

angenommen das du dich vertippt hast und es monat sein sollte
normalerweise sollte man das selber hinbekommen.
date()
als anleitung:
1. finde erstmal den nächste monat date()
2. nun finde den erste tag des nächste monats mktime()
3. nun überprüfst du, welcher wochentag der laut 2. errechnete ist date()
4. nun sollte man noch wissen, wieviel seconds ein tag hat
5. nun noch schnell nen switch und ein bisschen rechnen ....

fals du laut der anleitung nicht klar kommst, dann beschäftige dich erstmal mit kontrollstrukturen und schreib dir auf nen schönen großen zettel, was du überhaupt machen willst.
welche werte du brauchst, welche werte dir php bietet und wie du mit simpler mathe auf die lösung kommst.

ist nicht böse gemeint, nur wenn ich dir hier den quellcode poste, bringt dir das auch nichts. die 5 punkte oben sind genau so angelegt, dass wenn du sie abarbeitest, dir immer genau der 1. freitag im nächste monat angezeigt wird.

aber aufpassen. es wird nicht abgefangen ob der monat 12 ist ;) und dann poste doch wenigstens mal deinen lösungsansatz, damit man dir sagen kann, wo du verkehrt ansetzt.

gruß raiserle

---
Irren is Menschlich

Wer andern eine Grube gräbt,
sollte darüber nachdenken,
ob sie tief genug ist!!!!

Kameradschaft ist, wenn der
Kamerad schafft !!!!

  Profil   Editieren   Zitieren
chip
Foren-Team




Beiträge: 419

Möglich wäre auch strtotime() und ein bisschen Mathematik!

---

  Profil   Website   Editieren   Zitieren
neueinsteiger
Pixelschubser
Threadstarter




Beiträge: 2

Ich habe eine Lösung gefunden.
Auch das Problem mit dem darauffolgenden Jahr glaube habe ich gelöst.

Hier meine Lösung:
//Nächsten Monat ermitteln
//Monatszahl und Jahr finden
$heute=getdate();
$nmonat= date('n', mktime(0, 0, 0, date("m")+1, date("d"), date("Y")));
$year="$heute[year]";
if ($nmonat==1)
{
$year="$heute[year]"+1;
}

//Wochentag ermitteln
for ($i=1; $i<8; $i++)
{
if (date('w',mktime(0, 0, 0, $nmonat, $i, $year))==5)
{
$tag=$i . "." . $nmonat . "." . $year;
}
}
?>

Folgende Frage noch:
Wie kann ich aus einer For-Schleife vorzeitig aussteigen?

  Profil   Editieren   Zitieren
raiserle
Mausakrobat




Beiträge: 172

eh nee nicht mit nem schleifchen... das ist ja, als würde man mit riesenwumme auf
schmetterlinge ballern

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24:
12 ? 1 : $next_month),1,($next_month>12 ? (date("Y")+1) : date("Y")));
$first_weekday=date("w",$first_day_in_next_month_in_seconds);
$seconds_per_day=86400;
switch ($first_weekday)
{
	case 5 :	$next_friday=$first_day_in_next_month_in_seconds;
				break;// es ist freitag
	case 6 :	$next_friday=$first_day_in_next_month_in_seconds+(6*$seconds_per_day);
				break;
	case 0 :	$next_friday=$first_day_in_next_month_in_seconds+(5*$seconds_per_day);
				break;
	case 1 :	$next_friday=$first_day_in_next_month_in_seconds+(4*$seconds_per_day);
				break;
	case 2 :	$next_friday=$first_day_in_next_month_in_seconds+(3*$seconds_per_day);
				break;
	case 3 :	$next_friday=$first_day_in_next_month_in_seconds+(2*$seconds_per_day);
				break;
	case 4 :	$next_friday=$first_day_in_next_month_in_seconds+$seconds_per_day;
				break;
}
echo "Das Datum für den nächsten Freitag im nächsten Monat ist: ".date("d.m.Y",$next_friday)."";
?>


und die m>12 ist auch abgefangen

eine schleife ist absolut unnütz, bei dem switch wird nix gezählt
und auch nix immer wieder verglichen... was zwar eben bei der schleife nicht grad sehr performance- raubend wäre... aber trotzdem eben unnütz.

ich geb dir dann zwar recht, das ich mehr code hingewurschtelt habe... aber lieber mehr zeichen..

und in einer while wäre es auch einfach die abbruchbedingung dazuzunehmen, wenn eben date("w",$stamp)==5 wäre

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9:


gruß raiserle

---
Irren is Menschlich

Wer andern eine Grube gräbt,
sollte darüber nachdenken,
ob sie tief genug ist!!!!

Kameradschaft ist, wenn der
Kamerad schafft !!!!

  Profil   Editieren   Zitieren
chip
Foren-Team




Beiträge: 419

raiserle schrieb am 20.05.2007 21:35
und in einer while wäre es auch einfach die abbruchbedingung dazuzunehmen, wenn eben date("w",$stamp)==5 wäre

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9:



Wenn wir schon beim Thema Performance sind, dann lass doch diese komische $found-Variable weg. Ein einfaches break; hätte es auch getan, dann muss nicht jedesmal zu Schleifenbeginn die zweite Bedingung noch geprüft werden.


---

Diese Nachricht wurde geändert von: chip
  Profil   Website   Editieren   Zitieren
Ehemaliges Mitglied (#378)
Quasselstrippe




Beiträge: 282

Hallo Ihr Tüftler,

mal eine Frage: Wäre das alles nicht viel einfacher möglich mit der Funktion strtotime?

strtotime ( string time [, int now])

Wenn ich in der Variable now den Timestamp des Monatsanfangs übergebe und schließlich als time einfach 'first friday' angebe, müsste ich doch als Ergebnis den Timestamp des ersten Freitags ausgehend vom übergebenen Monatsanfang erhalten - oder?

Liebe Grüße
Mondschatten

  Profil   Editieren   Zitieren
chip
Foren-Team




Beiträge: 419

Mondschatten schrieb am 21.05.2007 20:24
Hallo Ihr Tüftler,

mal eine Frage: Wäre das alles nicht viel einfacher möglich mit der Funktion strtotime?

strtotime ( string time [, int now])

Wenn ich in der Variable now den Timestamp des Monatsanfangs übergebe und schließlich als time einfach 'first friday' angebe, müsste ich doch als Ergebnis den Timestamp des ersten Freitags ausgehend vom übergebenen Monatsanfang erhalten - oder?

Liebe Grüße
Mondschatten


Wenn ich mich mal selbst zitieren darf :

chip schrieb am 20.05.2007 18:17
Möglich wäre auch strtotime() und ein bisschen Mathematik!


Mathe ist auf jeden Fall nötig, denn er möchte ja nicht den ersten Freitag in diesem Monat, sondern den im nächsten!

---

  Profil   Website   Editieren   Zitieren
Ehemaliges Mitglied (#378)
Quasselstrippe




Beiträge: 282

Huhu chip!

chip schrieb am 22.05.2007 15:25
Mathe ist auf jeden Fall nötig,


...auch wenn ich
1:
strtotime('next month')
verwende?

Viele Grüße
Mondschatten

  Profil   Editieren   Zitieren
chip
Foren-Team




Beiträge: 419

Wird ihm IMHO wenig nützen, denn es gibt meines Wissens keine Angabe, die ihm den ersten Freitag im nächsten Monat ausgibt, sondern nur den nächsten Freitag oder den heutigen Tag im nächsten Monat oder andere Kombinationen.
Also ist Mathe doch nötig

---

  Profil   Website   Editieren   Zitieren
Ehemaliges Mitglied (#378)
Quasselstrippe




Beiträge: 282

Okay, ich gebe mich einstweilen geschlagen.

Viele Grüße
Mondschatten

  Profil   Editieren   Zitieren
 

Antworten
Forum » PHP & MySQL » Kalenderdatum berechnen

Aktuelle Beiträge zur Hilfe im Forum für Homepage - Kalenderdatum berechnen im Forum Homepage Hosting AntwortenLetztes Posting
Best online slots
in "PHP & MySQL"
0 23.01.2023 22:40 von Sevetr
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
3 19.07.2021 06:00 von newtopblog
kleines problem mit phpadmin
in "PHP & MySQL"
5 11.04.2021 22:22 von Zavylon
Counter mit PHP
in "PHP & MySQL"
4 22.03.2021 16:29 von Robeni
Fehlermeldung beim Importieren der Datenbank in phpmyadmin
in "PHP & MySQL"
0 02.08.2019 22:14 von iFuchs
CMS für Online Shop
in "PHP & MySQL"
18 26.05.2019 13:29 von raiserle
Regestrierungproblem
in "PHP & MySQL"
3 28.11.2018 13:20 von norbertofahey
PHP Datum ausgeben?
in "PHP & MySQL"
1 19.10.2018 10:04 von Klaus1973
PHP befehl ausführen
in "PHP & MySQL"
11 16.08.2018 09:08 von Klaus1973
Visual Composer selber programmieren?
in "PHP & MySQL"
0 22.01.2017 23:45 von Redji
php preg_replace_callback für dynamischen Link
in "PHP & MySQL"
0 05.07.2016 11:02 von Rm21
PHP Code verschlüsseln
in "PHP & MySQL"
20 21.02.2016 21:25 von Kilian1
migrierter WP-Blog läuft nicht ...
in "PHP & MySQL"
0 04.02.2016 02:01 von Oxygon



Besucher : 7981169    Heute : 164     Gestern : 348     Online : 30     18.4.2024    14:08      0 Besucher in den letzten 60 Sekunden        
Nach oben