如何(以优雅的方式)选择第一个即将到来的星期二,如今今天是星期二,请立即使用?
我第一次使用
strtotime('next Tuesday');
然后时钟在星期一午夜过去,strtotime开始针对NEXT星期二
strtotime('next Tuesday', strtotime('tomorrow'))
似乎没有任何改变(仍然针对下周的星期二)
strtotime('this tuesday')
今天有效,但明天会在明天定位吗?
答案 0 :(得分:2)
strtotime("this tuesday")
正是您要找的
//given current datetime of Tue Jul 8 03:40:27
print date('Y-m-d',strtotime('this tuesday')); //2014-07-08
print date('Y-m-d',strtotime('this monday')); //2014-07-14
print date('Y-m-d',strtotime('this wednesday')); //2014-07-09
答案 1 :(得分:0)
请查看此代码
<?php
$day=date('D');
if($day=='r'){
$date=date('Y-m-d');
}else{
$date=date('Y-m-d',strtotime('next tuesday'));
}
echo $date;
?>
答案 2 :(得分:0)
一种方法是将这个星期二与今天进行比较,如果它低于今天,那么下周二就是下周:
$today = new DateTime("today");
$tuesday = new DateTime("this tuesday");
if($today > $tuesday){
$tuesday->modify("next tuesday");
}
答案 3 :(得分:0)
你可以避免使用声明。
<?php
$today = date('D');
$Tuesday= strtotime("Monday"); // change To Monday to test
$secondTuesday=strtotime("next Tuesday",$Tuesday);
echo $today === $Tuesday? date('d.m.Y',$secondTuesday):$today ;
?>