我想查找周一、周二、周三等的日期时间戳。如果这些天在本周还未到来,我希望日期返回本周的,否则返回下周的。谢谢!
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('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 />";
}
PHP手册 - DateTime
PHP手册 - DateInterval
PHP手册 - DatePeriod
PHP手册 - clone
这个问题被标记为“php”,所以正如Tom所说,做到这一点的方法看起来是这样的:
date('Y-m-d', strtotime('next tuesday'));
由于某些原因,strtotime('next friday')
显示的是本周五的日期。请尝试使用以下代码:
//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
PHP 7.1:
$next_date = new DateTime('next Thursday');
$stamp = $next_date->getTimestamp();
PHP manual getTimestamp()
Carbon::parse("friday next week");
如果我理解你的意思正确,你想要接下来7天的日期?
你可以这样做:
for ($i = 0; $i < 7; $i++)
echo date('d/m/y', time() + 86400 * $i);
抱歉,我没有注意到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
var date=new Date();
getNextDayOfWeek(date, 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;
}