将数字转换为星期几

Convert Number to Day of Week

我需要将数字转换为日期,即

1 -> Sunday
2 -> Monday

我有以下问题可以帮助解决相反的问题:day of the week to day number (Monday = 1, Tuesday = 2)

一旦我能够做到这一点,我就可以循环并回显这一天,即:

while($i < 7)
{
    echo date("N",strtotime(1));
}

我正在搜索的所有内容似乎都是要求将日期转换为数字的人。有人能给我指出正确的方向吗

只需将星期几作为关键字放入数组中即可。然后使用 date('N') 获取星期几并使用它作为访问该数组值的键。

$days = [
  1 => 'Sunday',
  2 => 'Monday',
  3 => 'Tuesday',
  4 => 'Wednesday',
  5 => 'Thursday',
  6 => 'Friday',
  7 => 'Saturday'
];

echo $days[date('N')];

您只需创建一个数组即可,请检查:

$dayOfWeek = array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
echo $dayOfWeek[2]."<br />";
echo $dayOfWeek[8%7];
echo $dayOfWeek[date('N')];

为什么我要写这样的数组?指数 0 => "Sunday" and 1 => "Monday" .... ?因为如果是一天,你必须这样做,1 week is 7 day 所以剩下的你可以使用 "Modulo / %(in php)" 来转换它。

例如: 如果 2015 年 3 月 1 日是星期日,那么第 8 天必须是星期一 because 8 mod 7 is 1 or 8%7 (in php) is 1。因此,要转换它,您只需执行此操作 $dayOfWeek[8%7] 即可获得星期几。 :)

对于另一种有条件的情况,你需要你的逻辑来做到这一点。如果 2015 年 5 月 1 日是星期五。请记住检查年份以了解二月的天数是 28 还是 29。

如何检查?请试试这个:

$year = 2015;
$feb = (($year%100)and !($year%4)or !($year%400))+28;
echo $feb;

一年中的第几天应该是这样的:

$month= array(0,31,$feb,31,30,31,30,31,31,30,31,30,31);

0=0, 1=January,2=February,....

希望这对您有所帮助..:)