Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 自2016年3月3日起每三个星期四回声一次_Php_Wordpress - Fatal编程技术网

Php 自2016年3月3日起每三个星期四回声一次

Php 自2016年3月3日起每三个星期四回声一次,php,wordpress,Php,Wordpress,我正在使用wordpress为一家公司开发一个网站 自2016年3月3日起,他们每三个星期四召开一次董事会会议 我正在尝试创建一个短代码 我想回应下一次会议什么时候召开 到目前为止,这是我得到的,但这并不正确 // ECHO next board_meeting - Use [next_board_meeting] add_shortcode( 'next_board_meeting', 'next_board_meeting_shortcode' ); function next_board_

我正在使用wordpress为一家公司开发一个网站

自2016年3月3日起,他们每三个星期四召开一次董事会会议

我正在尝试创建一个短代码

我想回应下一次会议什么时候召开

到目前为止,这是我得到的,但这并不正确

// ECHO next board_meeting - Use [next_board_meeting]
add_shortcode( 'next_board_meeting', 'next_board_meeting_shortcode' );
function next_board_meeting_shortcode( $str ) {

echo date_i18n('l j F', strtotime('next thursday +2 week'));

}
我一直在网上搜索类似的东西,但我在这里,请求你的帮助

有没有一种简单的方法可以做到这一点,或者我需要创建一个复杂的php脚本


请记住,我刚刚学会了如何用php完成简单任务。

这段代码将为您提供本月的第三个星期四

如果当前日期已超过第三个星期四,则将显示下个月的第三个星期四。。如果当前月份是12月,并且已经过了第三个星期四,那么它将在明年1月显示第三个星期四

<?php
$current_date = strtotime(date("d.m.Y"));

//$final = date("Y-m-d", strtotime("+1 month", $time));

$FullMonth = date('F',$current_date);
$FullYear = date('Y',$current_date);
$Third_Thus = date('d F Y', strtotime('third thursday of '.$FullMonth.' '.$FullYear));
$ThirdThus_tmstamp = strtotime($Third_Thus);
if($current_date <= $ThirdThus_tmstamp){
    echo date('d F Y', strtotime('third thursday of '.$FullMonth.' '.$FullYear));
}
else{
    if($FullMonth != 'December'){
        $FullMonth = date('F',strtotime("+1 month", $current_date));
        $FullYear = date('Y',$current_date);
    } else{
        $Next_Year = strtotime("+1 year", $current_date);
        $FullYear = date('Y',$Next_Year);
        $FullMonth = date('F',strtotime("+1 month", $Next_Year));
    }
    echo date('d F Y', strtotime('third thursday of '.$FullMonth.' '.$FullYear));
}?>

这将只显示本月或下个月的第三个星期四 月份取决于当前日期。。如果你想在星期三星期四 接下来的2-3个月,你可以做一些改变,我想现在


应使用以下简单的短代码:

add_shortcode( 'next_board_meeting', 'next_board_meeting_shortcode' );

function next_board_meeting_shortcode( $str ) {

  if(strtotime("3 thursday", strtotime(date('Y-m-01 00:00:00'))) > time())
    echo date('Y-m-d', strtotime("3 thursday", strtotime(date('Y-m-01 00:00:00'))));
  else
    echo date('Y-m-d', strtotime("3 thursday", strtotime("next month", strtotime(date('Y-m-01 00:00:00')))));

}

演示:

如果答案满足您的要求,请接受。谢谢您的回复。但这只显示了当前月份。他们每三个星期四开一次董事会。因此,如果今天是在这个月的会议之后,我认为它不会得到下个月的会议。例如:5月份的会议将在5号举行。如果今天是4月28日,那么就不会有5月的下次会议。再次感谢您的回复,但我相信它不会起作用。请查看编辑后的答案。。如果当前日期已经过了第三个星期,那么它将显示下个月的第三个星期六。。如果跳过日期的月份是12月,那么它将显示明年1月的第三个星期四,这非常有效。。。我自己永远也不会想出这个代码。我只修改了一件事,那就是回音日期之后。。。。。我想如果我想把它改成这个月的第二个星期四,我会把第三个改成第二个:-)非常感谢你的代码:-)最好的礼遇。我已经提供了以上的解释,对不起,这只会重复星期二3点之后的日期。。。如果访客在会议前一天查看网站,该怎么办?它会显示明天的日期吗?如果访问者在会议后的第二天查看该站点,该怎么办。下一次会议是在下个月,会不会也显示那个日期?谢谢Aron,是的,代码中有错误。现在查看新编辑的示例-如果是会议后的第二天,它将显示下个月的3个星期四。