我有一个自定义页面,其中包含实际星期的计划,并且星期由今天的一天定义。
我需要放置上一周和下一周的链接,我想创建一个链接以今天+ 7(下一个)或-7(上一个)重新打开我的页面。
这是具有今天var的星期几定义的功能。
所以我需要在页面上建立链接以进行上一周的访问(与$ today -7相同的页面),而在下周进行另一个链接(与$ today +7的相同页面)。
你能帮我吗?非常感谢。
编辑:我已经尝试调整Michal的解决方案,并删除旧的poo函数以替换过程代码:
<?php
date_default_timezone_set('Europe/Paris');
if (!empty($_GET['today']))
{
$today = $_GET['today'];
}
else
{
$today = Date('y-m-d');
}
$todayMinus7 = Date('y-m-d', strtotime("-7 days")); //set variable to last week (-7 days)
$todayPlus7 = Date('y-m-d', strtotime("+7 days")); //set variable to next week (+7 days)
$my_date = $today;
$week = date("W", strtotime($my_date)); // get week
$y = date("Y", strtotime($my_date)); // get year
$first_date = date('y-m-d',strtotime($y."W".$week)); //first date
$second_date = date("y-m-d",strtotime("+1 day", strtotime($first_date)));
?>
<a href="get_day.php?today=<?php echo $todayPlus7; ?>">A Week Ago</a>
<?php echo $first_date; ?>
结果:
现在,当我加载页面时,我的first_date(星期一)是2008年10月18日,就可以了!
如果我按下链接,则下个星期一为15/10/15,那没关系!
但是,如果我再次单击该链接(用于下一周的下一周的下一周),则没有任何变化(总是18/10/15而不是18/10/22)。
您有解决问题的想法吗?
非常感谢
答案 0 :(得分:2)
我的页面上有类似的内容,我用日期创建了不同的变量,然后在需要时使用它们... 因此创建:
<?php
$todayMinus7 = Date('y-m-d', strtotime("-7 days")); //set variable to last week (-7 days)
$today = Date('y-m-d'); //set variable to today
$todayPlus7 = Date('y-m-d', strtotime("+7 days")); //set variable to next week (+7 days)
$dayName = !empty($_GET['today']) ? date('l',$_GET['today']) : date('l',$today); ; //shorthand for IF today is set, get day name
?>
然后在需要的位置提供链接,并将上述变量添加到链接中,如下所示:
<a href="get_day.php?today=<?php echo $todayPlus7.'">'.$dayName;?></a>
答案 1 :(得分:0)
所以我已经做到了,而且效果很好:
<?php
date_default_timezone_set('Europe/Paris');
if (!empty($_GET['today']))
{
$today = $_GET['today'];
}
else
{
$today = Date('Y-m-d');
}
$todayMinus7 = Date('Y-m-d', strtotime("-7 days", strtotime($today)));
$todayPlus7 = Date('Y-m-d', strtotime("+7 days", strtotime($today)));
$my_date = $today;
$week = date("W", strtotime($my_date)); // get week
$y = date("Y", strtotime($my_date)); // get year
$monday = date('m-d-Y',strtotime($y."W".$week)); //first date
$tuesday = date("m-d-Y",strtotime("+1 day", strtotime($monday)));
$wednesday = date("m-d-Y",strtotime("+2 day", strtotime($monday)));
$thursday = date("m-d-Y",strtotime("+3 day", strtotime($monday)));
$friday = date("m-d-Y",strtotime("+4 day", strtotime($monday)));
$saturday = date("m-d-Y",strtotime("+5 day", strtotime($monday)));
$sunday = date("m-d-Y",strtotime("+6 day", strtotime($monday)));
?>
<a href="get_day.php?today=<?php echo $todayMinus7; ?>">Semaine précédente</a>
<a href="get_day.php?today=<?php echo $todayPlus7; ?>">Semaine suivante</a>
<?php echo $monday." <br/>".$tuesday." <br/>".$wednesday." <br/>".$thursday." <br/>".$friday." <br/>".$saturday." <br/>".$sunday; ?>
非常感谢Michal的帮助!