我有用户时区和工作时间。我正在尝试在用户的工作时间安排工作。但这似乎无法正常工作。请检查我做错了什么。
一个示例值是:
Timezone is 'America/New_York'
User Starts at "10 am"
User Stops at "6 pm"
我正在检查是否是用户的工作时间,还是不尝试获取秒数,然后在这几秒后安排jon。
date_default_timezone_set($users->timezone);
$date = date('m/d/Y h:i:s a', time());
if (strtotime($date) > strtotime($users->start) && strtotime($date) < strtotime($users->stop)) {
goto processnow;
}
else{
$tomorrow = new DateTime('tomorrow');
$newdate = date('Y-m-d H:i',strtotime('+'. $users->start .' hour',strtotime($tomorrow->format('Y-m-d H:i:s'))));
$dtnow = new DateTime();
$ndate = date('Y-m-d H:i',strtotime($dtnow->format('Y-m-d H:i:s')));
$sec = strtotime($newdate) - strtotime($ndate);
ProcessCoupons::dispatch($this->id)
->delay(now()->addSeconds($sec));
}