Rolf B: strtotime()

Beitrag lesen

problematische Seite

Hallo Helmut,

du übersiehst den Trick. Felix lässt da 4 Schritte ablaufen (ob das performant ist, sei dahingestellt).

(1) Unix Timestamp von heute holen mit strtotime("this month"). Da könnte man auch this day oder this year oder today angeben. (2) Den mit date() als YYYYMM01 formatieren und "-$i months" anhängen (3) Daraus mit strtotime wieder einen Unix Timestamp machen (4) Den wiederum als YYYYMM formatieren.

Geht auch etwas kompakter. date() verwendet den aktuellen Timestamp, wenn man den 2. Parameter weglässt. Damit könnte man dann auch

$months_backwards[$i] = date(
		"Ym",
		strtotime(
			date('Ym01') . " -$i months"
		)
	);

schreiben. Entscheidend ist jedenfalls, durch das Format Ym01 erstmal auf den Monatsersten zu wechseln und damit das Problem loszuwerden.

Rolf

--
sumpsi - posui - obstruxi