获取下一个星期一,星期二等的date

我想find星期一,星期二,星期三等等的date标记。如果那一天还没有到来,我希望下个星期这个星期。 谢谢!

strtotime()

 strtotime('next tuesday'); 

你可以通过查看周数来了解你是否过去了一天:

 $nextTuesday = strtotime('next tuesday'); $weekNo = date('W'); $weekNoNextTuesday = date('W', $nextTuesday); if ($weekNoNextTuesday != $weekNo) { //past tuesday } 

我知道这是一个迟到的答案,但我想添加我的答案为未来的参考。

 // Create a new DateTime object $date = new DateTime(); // Modify the date it contains $date->modify('next monday'); // Output echo $date->format('Ym-d'); 

好的是,你也可以用今天以外的date来做这件事:

 // Create a new DateTime object $date = new DateTime('2006-05-20'); // Modify the date it contains $date->modify('next monday'); // Output echo $date->format('Ym-d'); 

为了使范围:

 $monday = new DateTime('monday'); // clone start date $endDate = clone $monday; // Add 7 days to start date $endDate->modify('+7 days'); // Increase with an interval of one day $dateInterval = new DateInterval('P1D'); $dateRange = new DatePeriod($monday, $dateInterval, $endDate); foreach ($dateRange as $day) { echo $day->format('Ym-d')."<br />"; } 

参考

PHP手册 – date时间

PHP手册 – DateInterval

PHP手册 – DatePeriod

PHP手册 – 克隆

问题被标记为“php”,所以汤姆说,这样做的方式看起来像这样:

 date('Ym-d', strtotime('next tuesday')); 

抱歉,我没有注意到PHP标签 – 但是其他人可能对VB解决scheme感兴趣:

 Module Module1 Sub Main() Dim d As Date = Now Dim nextFriday As Date = DateAdd(DateInterval.Weekday, DayOfWeek.Friday - d.DayOfWeek(), Now) Console.WriteLine("next friday is " & nextFriday) Console.ReadLine() End Sub End Module 

如果我正确理解你,你想要在未来7天的date?

你可以做到以下几点:

 for ($i = 0; $i < 7; $i++) echo date('d/m/y', time() + 86400 * $i); 

查看date函数的文档,find您需要的格式。

time()的PHP文档显示了一个如何获得一个星期的date的例子。 你可以修改它,而不是进入一个循环迭代最多7次,每次获得时间戳,获得相应的date,从那得到星期几。

如果你想查找星期一,那么'dayOfWeek'是1,如果星期二是2,依此类推。

 var date=new Date(); getNextDayOfWeek(date, 2); 

//这是为了find下个星期二

 function getNextDayOfWeek(date, dayOfWeek) { // Code to check that date and dayOfWeek are valid left as an exercise ;) var resultDate = new Date(date.getTime()); resultDate.setDate(date.getDate() + (7 + dayOfWeek - date.getDay()) % 7); return resultDate; } 

希望这会对你有所帮助,谢谢