我知道年份和日期(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 - Manual
也许 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();