我需要在 22:59 获取本周周三和周六 22:59 的时间戳,然后将时间戳转换为人类可读的日期。
我尝试了以下方法:
date_default_timezone_set('America/New_York');
$wednesdayLimit = strtotime('wednesday this week');
$saturdayLimit = strtotime('saturday this week');
$wednesdayLimit->setTime(22,59,0);
$saturdayLimit->setTime(22,59,0);
echo date("Y-m-d H:i:d", $wednesdayLimit);
echo date("Y-m-d H:i:d", $saturdayLimit);
但是我收到以下错误:
未捕获的错误:在整数上调用成员函数 setTime()
一行:
print date('Y-m-d H:i:s', strtotime('wednesday this week 22:59:00'));¸
收益 率: 2016-01-27 22:59:00
怎么样
$wednesday = strtotime('wednesday this week');
$wednesdayStart = $wednesday - ($wednesday % 60*60*24);
$wednesdayEnd = $wednesdayStart + (60 * 60 * 24) - 1;
您可以使用DateTime并执行类似操作。
$date = new 'DateTime();
$date->setISODate((int)$date->format('o'), (int)$date->format('W'), 3);
$date->setTime(22, 59, 0);
echo $date->format('D d-m-Y H:i:s');
演示。
或者,如果你喜欢一个衬里。
$date = (new 'DateTime())->modify('wednesday this week')->setTime(22, 59, 0);
演示