获取最近7天的一周中的某一天?

时间:2014-03-23 09:25:22

标签: php date

我需要当天的名字(周一,周二,周三,周二,周五,周六,今天)。

我知道这是一个新问题,PHP有一个date()函数。但是我试过并且无法弄清楚如何......

3 个答案:

答案 0 :(得分:0)

使用DateTime类及其format方法实现此目的。

以下代码的输出每天都在变化..由于今天是星期日,它从星期一,星期二开始......如果您在星期二运行此代码,你将在星期四,星期五,星期六得到输出......等等。

<?php

for($i=1;$i<=7;$i++) //<--- Since we know total days in a week is 7.
{
    $date = new DateTime(); //<-- Grabs today's datetime
    $date->add(new DateInterval('P'.$i.'D')); //<--- Passes the current value of $i to add days..
    echo $date->format('l')."<br>";
}

<强> OUTPUT :

Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday

Working Demo

答案 1 :(得分:0)

根据http://php.net/manual/en/function.date.php的PHP手册,只需使用“l”作为格式参数即可获得当天的全名。

2014年3月23日是一个星期天,与

相呼应
<?php
echo date ("l", mktime(0, 0, 0, 3, 23, 2014));
// Echoes Sunday
?>

根据this page的信息,从当天开始过去7天,6天,5天或10000天(或将来的天数),只需在strtotime的字符串中使用负整数或正整数功能:

<?php
$backcount = -4;
echo date ("l", strtotime("$backcount day"));
// Executed on 23 Mar 2014 will give Wednesday
?>

了解这一点,您可以应用 for 循环来获取所需内容。如果想要“今天”而不是当天的全名,只需添加一个 if 条件来处理backcount变量为零的情况。

答案 2 :(得分:0)

您可以使用jddayofweek来检索星期几,对于包含星期几的字符串,包含星期几缩写的字符串有3种模式,并且int代表星期几

for($i=0;$i<7;$i++){
    $x=jddayofweek($i,2);
    var_dump($x);
}