Zum Inhalt springen

Datum augeben und neues Datum errechnen

Erstellt am 23. Februar 2009 · 3 Antworten · letzte Antwort am 21. März 2009

Tags: Frage

Unbekannter Benutzer ·

Guten Morgen...

Eine einfache Aufgabe wie ich dachte:

Gib das aktuelle Datujm auf der Seite aus und das aktuelle Datum + eine Woche.

Also Ausgabe: 23.02.2009 - 01.03.2009

Da ich weiß, dass man mit TypoScript rechnen kann, dachte ich dass das doch kein Problem ist.

Habs also so versucht:

lib {
	DATUM = COA
	DATUM {
		wrap = <h2>|</h2>
		10 = TEXT
		10 {
			data = date: U
			strftime = %d.%m.%Y
			noTrimWrap = || - |
		}
		20 = TEXT
		20 {
			data = date: d.m.Y +6
			prioriCalc = 1
			wrap = |
		}
	}
}

leider ist die Ausgabe nicht wie gewünscht. Das erste Datum (das aktuelle) wird natürlich korrekt ausgegeben. Das zweite jedoch nicht. Hier wird die Jahreszahl abgeschnitten und auf den Tag werden 6 aufgerechnet. Ausgabe ist dann:

23.02.2009 - 29.02

Natürlich soll dann am morgigen Dienstag auch immernoch die Datum der aktuellen Woche dort stehen, das heißt es dürfte wieder erst am darauffolgenden Montag losgehen mit der berechnung.

Mit Conditions kann man das sicher machen, wenn die Berechnung funktionieren würde

habe schon gesucht, kann aber keine Lösung finden.

Wäre schön wenn jemand eine Lösung hätte

Unbekannter Benutzer ·

habe mir erstmal mit nem kleinen PHP-Script geholfen

<?php
	function KW_dates() {
		$KW_monDate = date('w')==1 ? date('d.m.Y'):date('d.m.Y',strtotime("Last Monday"));
		$KW_sunDate = date('d.m.Y',strtotime("Sunday"));
		$KW_text = "Woche vom ";

		echo "<h2>$KW_text $KW_monDate - $KW_sunDate</h2>";
	}
	KW_dates();
?>

Mich würde aber dennoch interessieren, obs auch mit TypoScript machbar ist

jochen ·

Hallo SLAng,

das hat mich jetzt doch auch interessiert...
So ginge es mit TypoScript (Rest bleibt gleich):

...
  20 = TEXT
  20 {
    data = date:U + (7*86400)
    prioriCalc = 1
    strftime = %d.%m.%Y
    wrap = |
  }
...

Also einfach auf den UNIX-Timestamp die Anzahl Sekunden pro Tag mal 7 addieren.

Grüße
Jochen

Unbekannter Benutzer ·

Stimmt, aber leider funktioniert auch das nicht, denn man müsste dann immer, wenn man das aktuelle KW Datum also "von bis" haben möchte von jedem Tag außer Montag einen Tag abziehen und statt 7 * Sekunden nur 6* Sekunden (Für Dienstag) rechnen... usw...

Das geht zwar mit Conditions, aber dafür ist dann schon das Script selbst nötig, also für den Montag und weitere 6 Conditions für Dienstag bis Sonntag. Alles in allem funktioniert es zwar, aber es ist ne Menge Code, selbst wenn man soviel kopiert wie möglich.

Hier ist PHP die beste Möglichkeit.

Dennoch danke für deine Antwort.