我目前正在尝试将当前时间与使用用户将选择的日期计算的日期的下午5点进行比较。我尝试了不同的组合并用谷歌搜索它但由于某种原因我似乎无法弄清楚如何将下午5点放在所选日期。
$expressFeeDate = date('Y-m-d', strtotime('+2 days', $arrivaldate_converted));// this line outputs 2018-01-08 for this current example
$todaysDate = date("Y-m-d h:i:sa");// this line out puts the current date and time 2018-01-05 10:54:43am
我想在用户选择他们的日期之后计算expressFeeDate,因为它在上面的变量中,然后有另一个变量,在该变量中,它接受该日期并输出2018-01-08 05:00:00 pm。 / p>
谢谢所有欢迎的反馈。
答案 0 :(得分:2)
我创建2个DateTime对象并使用Datetime diff方法来获取间隔。
$selectedDate = new \DateTime('2018-1-1');
$selectedDate->setTime(0, 17);
$today = new \DateTime('now');
$interval = $selectedDate->diff($today);
var_dump($interval); exit;
这将返回一个如下所示的DateInterval对象:
object(DateInterval)[959]
public 'y' => int 0
public 'm' => int 0
public 'd' => int 4
public 'h' => int 0
public 'i' => int 10
public 's' => int 0
public 'weekday' => int 0
public 'weekday_behavior' => int 0
public 'first_last_day_of' => int 0
public 'invert' => int 0
public 'days' => int 4
public 'special_type' => int 0
public 'special_amount' => int 0
public 'have_weekday_relative' => int 0
public 'have_special_relative' => int 0
现在你可以简单地挑选属性并使用你需要的任何东西。