6

我知道年份和日期(0-365)。有没有办法从它恢复到时间戳?

就像是:

$day=date('z');
$year=2012;

$timestamp=strtotime($day.'-nd day of '.$year);
4

3 回答 3

5

尝试以下操作:

$timestamp = mktime(0,0,0,1,$day,$year);

它将生成时间设置为 0:00:00 的时间戳。(我不确定它在夏令时方面是否会正确运行......)

查看 PHP 手册了解更多详情:PHP: mktime - Manual

于 2012-05-08T14:07:18.090 回答
2

也许 strtotime 在这里很方便: php -r 'echo @date("Y-m-d H:s", strtotime("january 2012 +200 day")).PHP_EOL;' 在你的例子中$timestamp = strtotime("january $year +$day day");

于 2012-05-08T14:06:06.360 回答
1

尝试使用createFromFormat

$date = DateTime::createFromFormat('z Y', $day . ' ' . $year);
echo $date->getTimestamp();
于 2012-05-08T14:05:26.953 回答