Anzahl der Tage des aktuellen Jahres bis heute berechnen ?!?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
tschekowski
Mitglied
Beiträge: 180
Registriert: 18.05.2003 16:44

Anzahl der Tage des aktuellen Jahres bis heute berechnen ?!?

Beitrag von tschekowski »

Hi,

Ich würde gerne die Anzahl der Tage des aktuellen Jahres bis heute berechnen. Dazu muss man meines Wissens nach die funktion "date" verwenden - weiß aber leider nicht genau wie man die in diesem Fall anwendet...
Benutzeravatar
mad-manne
Ehemaliges Teammitglied
Beiträge: 5403
Registriert: 18.03.2005 10:00
Wohnort: Marl im Ruhrgebiet

Beitrag von mad-manne »

erstmal kein Code, sondern ein Vorschlag für den Algorithmus :P
  • Aktuelles Jahr ermitteln
  • Aktuelles Datum ermitteln und in $akt_datum speichern
  • $jahres_anfang auf 01.Januar.aktuelles_Jahr setzen
  • $tag_im_jahr = $akt_datum - $jahres_anfang
Gruss,
Manne.
Try not. Do or do not. There is no try. (YODA)
Supportanfragen via E-Mail oder PN werden ignoriert
tschekowski
Mitglied
Beiträge: 180
Registriert: 18.05.2003 16:44

Beitrag von tschekowski »

für die berechnung der tage des vormonats hab ich das mal gemacht:

Code: Alles auswählen

$tage=date('t', strtotime('-1 month'));
darüber müsste es einfacher gehen - weiß aber nicht genau wie...
Benutzeravatar
mad-manne
Ehemaliges Teammitglied
Beiträge: 5403
Registriert: 18.03.2005 10:00
Wohnort: Marl im Ruhrgebiet

Beitrag von mad-manne »

es gibt bestimmt eine Bibliothek für solche Datumsgeschichten ...
... anyway, so habe ich es jetzt gelöst:

Code: Alles auswählen

	$aktuelles_jahr = intval(date("Y"));
	$aktueller_monat = intval(date("n"));
	$aktueller_tag = intval(date("j"));

	$vorheriges_jahr = $aktuelles_jahr - 1;
		
	$vorjahres_ende = mktime(12, 0, 0, 12, 31, $vorheriges_jahr);
	$aktuelles_datum = mktime(12, 0, 0, $aktueller_monat, $aktueller_tag, $aktuelles_jahr);

	$tag_im_jahr = intval(($aktuelles_datum - $vorjahres_ende) / 86400);

Fragen zum Code? immerzu :P

Gruss,
Manne.

[EDIT: Der erste Codeschnipsel war nicht ganz ausgereift .. deshalb nochmal geändert! /EDIT]
Try not. Do or do not. There is no try. (YODA)
Supportanfragen via E-Mail oder PN werden ignoriert
tschekowski
Mitglied
Beiträge: 180
Registriert: 18.05.2003 16:44

Beitrag von tschekowski »

jap das funzt - vieeeeeeeelen dank!!!
Benutzeravatar
mad-manne
Ehemaliges Teammitglied
Beiträge: 5403
Registriert: 18.03.2005 10:00
Wohnort: Marl im Ruhrgebiet

Beitrag von mad-manne »

tschekowski hat geschrieben:jap das funzt - vieeeeeeeelen dank!!!
Haste auch verstanden, wie es geht?

@ andere Coder: Wäre definitiv gespannt ob jemand eine schlankere Version für die Lösung dieser Aufgabe parat hätte :roll:

Gruss,
Manne.
Try not. Do or do not. There is no try. (YODA)
Supportanfragen via E-Mail oder PN werden ignoriert
Benutzeravatar
sonic-ac
Mitglied
Beiträge: 14
Registriert: 18.02.2005 18:02
Wohnort: Aachen

Beitrag von sonic-ac »

Hi,

versteh das nicht so ganz, eigentlich sollte das doch einfach mit

Code: Alles auswählen

$tag_im_jahr = date("z");
gehen ?!? :roll:

http://www.php.net/manual/de/function.date.php
Bye
C.
hab natürlich auch ein kleines Forum
Benutzeravatar
mad-manne
Ehemaliges Teammitglied
Beiträge: 5403
Registriert: 18.03.2005 10:00
Wohnort: Marl im Ruhrgebiet

Beitrag von mad-manne »

sonic-ac hat geschrieben:Hi,

versteh das nicht so ganz, eigentlich sollte das doch einfach mit

Code: Alles auswählen

$tag_im_jahr = date("z");
gehen ?!? :roll:
Ich wusste es ... :D
Tja ich habe selten mit den datumsfunktionen zu tun, und leider ist der Parameter z in meinem PHP-Buch auf die nächste Seite "gerutscht" Deshalb übersehen :-?

Wie auch immer: Viele Wege führen nach Rom, aber ich denke deine Variante ist die schnellere.

Gruss,
Manne.
Try not. Do or do not. There is no try. (YODA)
Supportanfragen via E-Mail oder PN werden ignoriert
Antworten

Zurück zu „Coding & Technik“