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

hd.*_*hd. 30 php timestamp

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

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

dec*_*eze 61

$hour = 12;

$today              = strtotime($hour . ':00:00');
$yesterday          = strtotime('-1 day', $today);
$dayBeforeYesterday = strtotime('-1 day', $yesterday);
Run Code Online (Sandbox Code Playgroud)

  • @Hannes然后我更喜欢`$ hour.":00:00'`.如果您不需要变量插值,请使用单引号.:O) (12认同)
  • +1我知道它的挑剔但我更喜欢`$ today = strtotime($ hour.":00:00");; (4认同)

eno*_*rev 13

OO等价物

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

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

$oDayBefore = clone $oYesterday;
$oDayBefore->modify('-1 day');
Run Code Online (Sandbox Code Playgroud)


Emi*_*l H 12

strtotime支持许多可以使用的有趣的修饰符:

$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);
Run Code Online (Sandbox Code Playgroud)

它按预期工作:

2011-01-24 12:00:00
2011-01-23 12:00:00
2011-01-22 12:00:00
Run Code Online (Sandbox Code Playgroud)