Lieber pl,
$date = sprintf('%3$04d-%2$02d-%1$02d', $d, $m, $y)
Was bitte soll denn daran klarer sein?
der Variablenname. Der Rest sieht zugegebenermaßen recht verschwurbelt aus.
Und warum bleibst Du nicht bei Deinem ersten Vorschlag mit den namentlichen Platzhaltern, guckmal:
Also gut:
$date = date('Y-m-d', mktime(0,0,0, $m, $d, $y));
$sth = $pdo->prepare("select 1721060 + to_days(concat(:year,'-',:month,'-',:day)) as jd"); [...]
Und das funktioniert bestens.
Funktioniert ist schön. Flexibel und unabhängig funktionieren, sowie später auf Anhieb wieder verstehen können, ist noch schöner.
Ein jeder ist seines Glückes Schmied - oder seiner Hölle Architekt.
Liebe Grüße
Felix Riesterer