从日期('z')和年份获取时间戳

时间:2012-05-08 13:56:02

标签: php date timestamp strtotime

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

类似的东西:

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

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

3 个答案:

答案 0 :(得分:4)

尝试以下方法:

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

它将生成一个时间戳,其时间设置为0:00:00。 (我不确定它是否会在夏令时方面表现正常......)

查看PHP手册以获取更多详细信息:PHP: mktime - Manual

答案 1 :(得分:2)

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

答案 2 :(得分:1)

尝试使用createFromFormat

$date = DateTime::createFromFormat('z Y', $day . ' ' . $year);
echo $date->getTimestamp();