我需要将数字转换为日期,即
1 -> Sunday
2 -> Monday
我有以下问题,这有助于反对:day of the week to day number (Monday = 1, Tuesday = 2)
一旦我能够做到这一点,我可以循环通过并回显当天,即:
while($i < 7)
{
echo date("N",strtotime(1));
}
我正在寻找的所有东西似乎都是要求将一天转换为数字的人。有人可以指出我正确的方向
答案 0 :(得分:7)
使用星期几作为关键字,将日期放在数组中。然后使用date('N')
获取星期几,并使用它作为键访问该数组值。
$days = [
1 => 'Sunday',
2 => 'Monday',
3 => 'Tuesday',
4 => 'Wednesday',
5 => 'Thursday',
6 => 'Friday',
7 => 'Saturday'
];
echo $days[date('N')];
答案 1 :(得分:-1)
您只需要创建一个数组来执行此操作,请检查:
$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]
即可获得dayOfWeek。 :)
对于另一个有条件的情况,你需要你的逻辑来做到这一点。如果2015年5月1日是星期五。请记住,检查一年是否知道2月份的天数是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,....
希望这可以帮助你.. :)