2011-11-11 112 views
0

仍试图找出与PHP的日期。我有这样的:使用strtotime计算日期php问题

$fri_end_date = date('Y-m-d',strtotime('Friday')); 
$fri_start_date = date('Y-m-d ',strtotime('Friday')); 
$put = $fri_start_date.$fri_end_date; 
echo "$put"; 

我要计算每个星期五的日期,而是通过至星期日显示周五日期。然后在星期一它会显示下一个星期五。基本上要在整个周末显示同一个星期五的日期。我将如何做到这一点?

+0

对不起,我有点用的问题混淆这里。你能简化一下吗?谢谢 – pinaldesai

回答

1

我现在明白你的问题,我认为这将解决您的问题:

if(date('w') >= 6) 
    $fri_end_date = date('Y-m-d',strtotime('last Friday')); 
else 
    $fri_start_date = date('Y-m-d ',strtotime('Friday')); 

$put = $fri_start_date.$fri_end_date; 
echo "$put"; 

使用date(“W”)将返回你一周中的一天,这样你可以测试,如果是周六或周日,并使用“上周五”或否则使用星期五的“当前”。

干杯, 丹尼斯

0

试试这个,让我知道这是否是你想要什么:

$fri_end_date = date('Y-m-d',strtotime('last Friday')); 
$fri_start_date = date('Y-m-d ',strtotime('next Friday')); 
$put = $fri_start_date.$fri_end_date; 
echo "$put"; 

这将运行代码和下周五前一天显示上周五的日期。

干杯, 丹尼斯

+0

这是显示范围很大。输出时,end_date和start_date应始终为相同的星期五值。至少那是我需要的。不知道它可以完成。也许一些if..else声明或某种类型可以处理它? – RonnieT

0

的问题是,你是不是你的问题是很清楚。这就是说,如果我理解正确,你需要在本周五前后两天展示。如果是这种情况,请尝试下面的代码。

$fri_end_date = date('Y-m-d',strtotime('Friday -2 days')); 
$fri_start_date = date('Y-m-d ',strtotime('Friday +2days')); 
$put = $fri_start_date.$fri_end_date; 
echo "$put"; 

如果不是,尝试更加简洁,在一个例子或两个可能抛出;)

干杯, 丹尼斯

+0

我只需要输出一天(星期五)。例如2011-11-18这个星期五。 'strtotime('Friday')'很容易。但一旦周六抵达,它将在下周五展示。我需要2011-11-18一直回复到星期日结束,届时才会显示下周五。清除泥浆? – RonnieT