私は年と日 (0-365) を知っています。それからタイムスタンプに戻る方法はありますか?
何かのようなもの:
$day=date('z');
$year=2012;
$timestamp=strtotime($day.'-nd day of '.$year);
次のことを試してください。
$timestamp = mktime(0,0,0,1,$day,$year);
時刻が0:00:00に設定されているタイムスタンプが生成されます。(夏時間に関して正しく動作するかどうかはわかりませんが...)
詳細については、PHPのマニュアルを確認してください。PHP:mktime-マニュアル
多分 strtotime はここで便利です:
php -r 'echo @date("Y-m-d H:s", strtotime("january 2012 +200 day")).PHP_EOL;'
あなたの例では$timestamp = strtotime("january $year +$day day");
createFromFormatを使用してみてください:
$date = DateTime::createFromFormat('z Y', $day . ' ' . $year);
echo $date->getTimestamp();