我正在使用以下内容创建一个可以使用的日期。我希望日期跳到下周二并保留最初存储在 $ start 中的时间。目前它只是跳到下周二的日期,但它没有节省时间。时间重置为午夜。
$day="Tuesday";
$start=DateTime::createFromFormat('Y-m-d H:i:s', $start);
$firstOccurrence= $start->getTimestamp();
$nextOccurence=$start->modify("next $day");
答案 0 :(得分:0)
您需要从原始对象传输时间。另外,我建议使用克隆来避免副作用: -
$start = '2014-03-20 18:23:15';
$day="Tuesday";
$start=DateTime::createFromFormat('Y-m-d H:i:s', $start);
$nextOccurence = clone $start;
$nextOccurence->modify("next $day")->setTime((int)$start->format('H'), (int)$start->format('i'), (int)$start->format('s'));
var_dump($nextOccurence);