Get date of Monday in current week in PHP 4 [duplicate]

☆樱花仙子☆ 提交于 2019-11-30 13:55:57

问题


I need to find the date of Monday in the current week. How can I do this in PHP 4?


回答1:


Easisest way:

$time = strtotime('monday this week');



回答2:


Try this:

return strtotime('last monday', strtotime('next sunday'));



回答3:


echo date('Y-m-d',time()+( 1 - date('w'))*24*3600);

For next week:

echo date('Y-m-d',time()+( 8 - date('w'))*24*3600);

1 for Monday, 2 Tuesday, 3 Wednesday and so on. Have a try.




回答4:


echo date('Y-m-d', strtotime('previous monday'));

Just one note, though. You want to make sure that it's not monday today, otherwise you will get date of previous monday, just like it says. You could do it as follows

if (date('w') == 1)
{
    // today is monday
}
else
{
    // find last monday
}



回答5:


$thisMonday = date('l, F d, Y', time() - ((date('w')-1) * 86400) );

Edit: explanation

  • date('w') is a numeric representation of the day of the week (0=sunday, 6=saturday)
  • there are 86400 seconds in a day
  • we take the current time, and subtract (one day * (day of the week - 1))

So, if it is currently wednesday (day 3), monday is two days ago:

time() - (86400 * (3 - 1)) = time() - 86400 * 2

If it is monday (day 1), we get:

time() - (86400 * (1 - 1)) = time() - 86400 * 0 = time()

If it is sunday (day 0), monday is tomorrow.

time() - (86400 * (0 - 1)) = time() - -86400 = time() + 86400




回答6:


Try this.

echo date('Y-m-d', strtotime('last monday', strtotime('next monday')));

It will return current date if today is monday, and will return last monday otherwise. At least it does on my PHP 5.2.4 under en_US locale.




回答7:


Try this

$day_of_week = date("N") - 1; 
$monday_time = strtotime("-$day_of_week days");



回答8:


My attempt:

<?php
$weekday = date("w") - 1;
if ($weekday < 0)
{
    $weekday += 7;
}
echo "Monday this week : ", date("Y-m-d",time() - $weekday * 86400) , "\n";
?>


来源:https://stackoverflow.com/questions/2958327/get-date-of-monday-in-current-week-in-php-4

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!