我已经建立了一个小功能,可以禁用我的js日历上的日期(这可以解释为-1个月),下午4点之后将禁用以下日期。我为此建立的业务是在星期一到星期六开放的,所以当星期六它会在周日停用但实际上需要禁用星期一(他们的下一个工作日)时会出现问题。我如何编辑我的代码以允许周一在周六下午4:00之后被禁用,同时保留其他日期?
我的工作代码:
$datetime = new DateTime();
$deadline = new DateTime("today 4:00PM");
$today = new Datetime('today');
$todays = $today->format('Y-m-d');
$db_date = strtotime($todays);
$todaydisable = date('Y-m-d', strtotime("-1 month", $db_date));
if($datetime > $deadline){
$tomorrow = Date("Y,m,d", strtotime("+1 day -1 month "));
} else {
$tomorrow = NULL;
}
尝试下面的代码无法正常工作它会在第二天停用,但如果在星期六4点之后不会禁用星期一
$now = new DateTime("-1 month");
$deadline = clone $now;
$deadline->setTime(4, 00);
if ($now > $deadline) {
$now->modify('+1 day');
$when = ('-1 month Saturday' === $now->format('l')) ? '-1 month Next Monday' : '-1 month Tomorrow';
$tomorrow = new DateTime($when);
$tomorrowFormat = $tomorrow->format('Y,m,d');
} else {
$tomorrowFormat = NULL;
}
答案 0 :(得分:1)
<?php
$now = new DateTime();
$deadline = clone $now;
$deadline->setTime(16, 00);
if ($now > $deadline) {
$now->modify('+1 day');
$when = ('Saturday' === $now->format('l')) ? 'Next Monday' : 'Tomorrow';
$tomorrow = new DateTime($when);
}
答案 1 :(得分:1)
<?php
$now= new DateTime();
$deadline = clone $now;
$deadline->setTime(16, 00);
if ($now > $deadline) {
//$now->modify('+1 day');
$when = ('Saturday' === $now->format('l')) ? '-1 Month Next Monday' : '-1 Month Tomorrow';
$tomorrow = new DateTime($when);
}
刚刚使用John Conde代码,添加-1月,应该可行。打印2014-01-24,所以基本上它应该禁用jscal中的星期一24 feb