从PHP
510开始当对使用date()等函数时,如果timezone设置不正确,在每一次调用时间函数时,都会产生E_NOTICE 或者
E_WARNING
信息,而又在php中,datetimezone这个选项,默认情况下是关闭的,无论用什么php命令都是格林威治标准时间,但是PHP53中如果没有设置部分时间类函数也会强行抛出了这个错误的。
PS:现在由于大部分人使用VPS/云主机,需要自己配置的环境的就更加会容易出现这个情况。
建议:不熟悉PHP环境还是用比较成熟的一键安装包吧。
strtotime()被禁止请调整自己的环境数值
<php
$friday = strtotime("Friday");//本周五开始时间
$lastFri = strtotime("last Friday");//上周五开始时间 或者$friday-864007
$nextFri = strtotime("next Friday");//下周五开始时间 或者$friday+864007 注意一下:下周五这个有时会出问题,比如现在还不到周五,这样得到的下周五的时间会和本周五一样。
//如果需要某天截止时间可以在这一天的开始时间加上86400 也就是1天
echo "本周五开始时间是:"date("Y-m-d H:i:s",$friday)"<br />";
echo "上周五开始时间是:"date("Y-m-d H:i:s",$lastFri)"<br />";
echo "下周五开始时间是:"date("Y-m-d H:i:s",$nextFri)"<br />";
希望我的回答对您有所帮助~~
function test()
{
$arr = [];
//首先获取18年5月1日0点的时间戳
$time = mktime(0,0,0,5,1,2018);
//循环18年5月的每一天,并判断是否星期一
//这里还有一个思路:找出第一个星期一,结束循环,然后根据第一个星期一的时间戳+786400取出第二个,依次类推,当时间超出31日时结束,可以尝试自己写一下。
for ($i = 0 ; $i < 31 ; $i ++)
{
$week = date("w",$time + $i 86400);
if ($week == 1)
{
$arr[] = date('Y-m-d' , $time + $i 86400);
}
}
var_dump($arr);
//输出array(4) { [0]=> string(10) "2018-05-07" [1]=> string(10) "2018-05-14" [2]=> string(10) "2018-05-21" [3]=> string(10) "2018-05-28" }
}
以上就是关于PHP显示指定日期是星期几,怎么不能显示全部的内容,包括:PHP显示指定日期是星期几,怎么不能显示、PHP 编程 计算本周五日期和下一个周五的日期、php 怎样输出18年5月份 每个星期一的日期等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)