用PHP获取当天的一天

anu*_*ain 12 php timestamp date

我想在php中获取当前日期的日期.我试过的是......

echo $x."<br>";
echo date("D",$x)."<br>";
Run Code Online (Sandbox Code Playgroud)

但输出是

21-02-10
Thu
Run Code Online (Sandbox Code Playgroud)

它给出了正确的日期,但没有给出正确的日期价值.为什么......?

我想要的是当天星期一的日期,可以在一周的任何一天生成.所以我所做的就是,今天我要和(Mon,Tue ...... Sun)比较并分别使用时间戳创建时间戳.

case "Mon":

$startdate1=date("d-m-y");
$parts = explode('-',$startdate1);
$startdate2 = date('d-m-Y',mktime(0,0,0,$parts[1],($parts[0]+1),$parts[2]));
$startdate3 = date('d-m-Y',mktime(0,0,0,$parts[1],($parts[0]+2),$parts[2]));
$startdate4 = date('d-m-Y',mktime(0,0,0,$parts[1],($parts[0]+3),$parts[2]));
$startdate5 = date('d-m-Y',mktime(0,0,0,$parts[1],($parts[0]+4),$parts[2])); 
$startdate6 = date('d-m-Y',mktime(0,0,0,$parts[1],($parts[0]+5),$parts[2]));
$startdate7 = date('d-m-Y',mktime(0,0,0,$parts[1],($parts[0]+6),$parts[2]));

$dates=array(1 => $startdate1,$startdate2,$startdate3,$startdate4,$startdate5,$startdate6,$startdate7);
$i=1;
while( $i <= 7 )
{
echo $dates[$i];
$i++;
}
break;
Run Code Online (Sandbox Code Playgroud)

$ date是必须返回的今天的最终数组.还有其他更好的方法来执行此操作.

小智 22

我试过这个来获得当天.

echo date('l'); // output: current day.
Run Code Online (Sandbox Code Playgroud)


Dav*_*unt 5

这个怎么样:

//today is monday
if (1 == date('N')){
    $monday = time();
}else{
    $monday = strtotime('last Monday');
}

for ($i = 0; $i < 7; $i++){
    echo date('d-m-Y', $monday) . '<br>';
    $monday = strtotime('tomorrow', $monday);
}
Run Code Online (Sandbox Code Playgroud)

首先找到星期一,如果不是今天,则打印7个日期


anu*_*ain 3

我解决这个问题的方法是在日期函数中使用日期格式('dmY')而不是('dmy'),这导致了问题。因此 strtotime 接受了该格式并给出了正确的结果

$t=date('d-m-Y');
echo date("D",strtotime($t));
Run Code Online (Sandbox Code Playgroud)