简体   繁体   中英

check if current week contains the last friday of the month

I am trying creating a script that will change an image on a page if the last friday in the month is during the current week.

For example if I am on any of the day of week (Monday to Sunday) that contains the last friday of the month during the week I will get an output that differs from the rest of the month. However I asked another question based on this and I to something similar to this:

$last_friday = strtotime('last Friday of this month');

if (date("Y-m-d") == date("Y-m-d", $last_friday)) {

$output = "<img src='payday.jpg' />";

} else {

$output = "<img src='nomoneyyet.jpg' />;

}

But after testing this it doesn't work during the actual week. Is strtotime what I should be using?

Use DateTime class in PHP and the format output for comparison:

// Be sure to check your timezone `date_default_timezone_set`
$today       = new DateTime();
$last_friday = new DateTime('last Friday of this month');

// For testing
$friday_april = new DateTime('2014-4-25');

if ($today->format('Y-m-d') === $last_friday->format('Y-m-d')) {
  print 'Today is friday';
}

if ($friday_april->format('Y-m-d') === $last_friday->format('Y-m-d')) {
  print 'Yes, a test friday is also a friday';
}

Use DateTime as

$date = new DateTime();
$date->modify('last friday of this month');

$current_date = new DateTime() ;

if($date == $current_date){
  $output = "<img src='payday.jpg' />";
}else{
  $output = "<img src='nomoneyyet.jpg' />";
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM