我知道在PHP中我可以使用date
函数来获取星期几的名称。但是,我遇到的问题是一个天气API,该API返回5天的天气,以TODAY作为数组中的第一个位置。
我可以使用下面的代码,但是我想知道是否有更干净的方法。
下面的代码从新的开始日期到数组的结尾对数组进行切片,然后将数组的开头剪断,然后将它们合并在一起。
传递给该函数的第一个参数是星期的任意开始,第二个参数是我尝试获取的“新星期”的一天。
function get_day_name($start, $get_day){
$days = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
$array_start = array_slice($days,$start);
$array_end = array_splice($days,0,$start);
$days = array_merge($array_start,$array_end);
return $days[$get_day];
}
echo get_day_name(date("w"), 0);
答案 0 :(得分:1)
您可以在当天使用date("l")
,在下一天使用date("l", strtotime("+1 day"))
,等等。
,或者对象(new \DateTime())->format('l')
用于当前对象,(new \DateTime('+1 day'))->format('l')
用于下一个对象,等等。
答案 1 :(得分:1)
您可以使用标准的\Datetime
库和当前语言环境来显示工作日的名称。
使用l
as a format,您可以从星期日开始工作。
只需将日期字符串传递到构造函数中,然后在创建的对象上调用format
方法。与strtotime
相比,这是一个更好的解决方案,因为它以更高的精度和正确性来处理日期。
$dayOfWeek = (new \DateTime($dateString))->format('l');
答案 2 :(得分:0)
如果您知道日期,为什么不使用它?
$dayOfWeek = date("l", strtotime($dateHere));