在PHP中获取今天和昨天的时间戳

时间:2011-01-24 09:19:45

标签: php timestamp

如何在php中使用strtotime()函数获取今天,昨天和前天12点的时间戳?

12点是一个变量,将由用户更改。

9 个答案:

答案 0 :(得分:59)

$hour = 12;

$today              = strtotime($hour . ':00:00');
$yesterday          = strtotime('-1 day', $today);
$dayBeforeYesterday = strtotime('-1 day', $yesterday);

答案 1 :(得分:13)

OO等效

$oToday = new DateTime();
$oToday->setTime($iHour, 0);

$oYesterday = clone $oToday;
$oYesterday->modify('-1 day');

$oDayBefore = clone $oYesterday;
$oDayBefore->modify('-1 day');

答案 2 :(得分:12)

strtotime支持一些可以使用的interesting modifiers

$hour = 12;

$today              = strtotime("today $hour:00");
$yesterday          = strtotime("yesterday $hour:00");
$dayBeforeYesterday = strtotime("yesterday -1 day $hour:00");

echo date("Y-m-d H:i:s\n", $today);
echo date("Y-m-d H:i:s\n", $yesterday);
echo date("Y-m-d H:i:s\n", $dayBeforeYesterday);

它按预期工作:

2011-01-24 12:00:00
2011-01-23 12:00:00
2011-01-22 12:00:00

答案 3 :(得分:4)

昨天开始

$oDate = new DateTime(); 
$oDate->modify('-1 day'); 
echo $oDate->format('Y-m-d 00:00:00');

结果

2014-11-05 00:00:00

答案 4 :(得分:3)

您可以使用fstream inFile(fileName.c_str(), fstream::in); 对象轻松找到任何日期,它非常灵活

DateTime

答案 5 :(得分:1)

这里的所有答案都太长且肿,每个人都喜欢一行;)

$yesterday = Date('Y-m-d', strtotime('-1 day'));

(或者,如果您是美国人,则可以将日期单位顺序随机化为m / d / y(或您使用的任何形式),并以杯子,加仑,脚和马为单位...)

答案 6 :(得分:0)

从PHP 7开始,您可以编写类似this的内容:

$today = new \DateTime();
$yesterday = (clone $today)->modify('-1 day');
$dayBefore = (clone $yesterday)->modify('-1 day');
// Then call ->format('Y-m-d 00:00:00'); on each objects

答案 7 :(得分:0)

您今天也可以使用new DateTime("now")作为今天的new DateTime("1 day ago"),或者可以通过strtotime php函数进行解析。

然后根据需要进行格式化。

答案 8 :(得分:0)

$timeStamp = time();
// $timeStamp = time() - 86400;

if (date('d.m.Y', $timeStamp) == date('d.m.Y')) {    
  echo 'Today'; 
} elseif (date('d.m.Y', $time) == date('d.m.Y', strtotime('-1 day'))) {     
  echo 'Yesterday';
}