Php 得到下周一、周二等的日期

Php 得到下周一、周二等的日期,php,datetime,Php,Datetime,我想找到星期一、星期二、星期三等的日期戳。如果这一天本周还没有到,我希望日期是本周,否则是下周。谢谢 见 通过查看周数,您可能会发现您是否已经度过了这一天: $nextTuesday = strtotime('next tuesday'); $weekNo = date('W'); $weekNoNextTuesday = date('W', $nextTuesday); if ($weekNoNextTuesday != $weekNo) { //past tuesday } 如果

我想找到星期一、星期二、星期三等的日期戳。如果这一天本周还没有到,我希望日期是本周,否则是下周。谢谢

通过查看周数,您可能会发现您是否已经度过了这一天:

$nextTuesday = strtotime('next tuesday');
$weekNo = date('W');
$weekNoNextTuesday = date('W', $nextTuesday);

if ($weekNoNextTuesday != $weekNo) {
    //past tuesday
}

如果我没弄错的话,你想知道接下来7天的日期吗

您可以执行以下操作:

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

回显日期('d/m/y',time()+86400*$i);
查看文档中的date函数,了解您希望它采用的格式。

显示了一个示例,说明如何获取一周后的日期。你可以修改它,进入一个循环,循环最多迭代7次,每次得到时间戳,得到相应的日期,然后从中得到一周中的哪一天。

问题被标记为“php”,正如Tom所说,这样做的方法如下:

date('Y-m-d', strtotime('next tuesday'));

抱歉,我没有注意到PHP标记-但是其他人可能对VB解决方案感兴趣:

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
如果你想找到星期一,那么“dayOfWeek”是1,如果是星期二,则是2,依此类推

//这是下星期二找的

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;
}

希望这将对您有所帮助,谢谢您

我知道这是一个有点晚的答案,但我想添加我的答案以供将来参考

// Create a new DateTime object
$date = new DateTime();

// Modify the date it contains
$date->modify('next monday');

// Output
echo $date->format('Y-m-d');
很好的一点是,除了今天,你还可以在其他日期执行此操作:

// Create a new DateTime object
$date = new DateTime('2006-05-20');

// Modify the date it contains
$date->modify('next monday');

// Output
echo $date->format('Y-m-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('Y-m-d')."<br />";
}
$monday=新日期时间('monday');
//克隆开始日期
$endDate=clone$monday;
//添加7天开始日期
$endDate->modify(“+7天”);
//每隔一天增加一次
$dateInterval=新的日期间隔('P1D');
$dateRange=新的日期周期($monday,$dateInterval,$endDate);
foreach($dateRange作为$day){
echo$day->format('Y-m-d')。“
”; }
工具书类 PHP手册-

PHP手册-

PHP手册-


PHP手册-

您可以使用碳库

下星期五

Carbon::parse("friday next week");
PHP 7.1:

$next_date = new DateTime('next Thursday');
$stamp = $next_date->getTimestamp();

PHP手册

出于某种原因,
strotime(“下周五”)
显示当前周的周五日期。请尝试以下方法:

//Current date 2020-02-03
$fridayNextWeek = date('Y-m-d', strtotime('friday next week'); //Outputs 2020-02-14

$nextFriday = date('Y-m-d', strtotime('next friday'); //Outputs 2020-02-07

谢谢这很有帮助。我只是想知道如何知道星期一是否已经到了。那不会太难!谢谢我正在尝试2020年2月14日的“下周五”,它将于2020年2月18日返回。看起来很好。如果星期五在同一周呢?例如,如果明天是星期五呢?op说,如果这一天还没有到来,我希望这一天是本周,否则是下周。谢谢你,回答得很好。需要更频繁地使用DateTime吗
$next_date = new DateTime('next Thursday');
$stamp = $next_date->getTimestamp();
//Current date 2020-02-03
$fridayNextWeek = date('Y-m-d', strtotime('friday next week'); //Outputs 2020-02-14

$nextFriday = date('Y-m-d', strtotime('next friday'); //Outputs 2020-02-07