关于获取上一月的第一天及最后一天

来源:互联网 发布:php文件上传目录 编辑:程序博客网 时间:2024/05/02 06:02

PHP调试的时候出现了警告:
It is not safe to rely on the system解决方法,其实就是时区设置不正确造成的,本文提供了3种方法来解决这个问题。
实际上,从PHP 5.1.0开始当对使用date()等函数时,如果timezone设置不正确,在每一次调用时间函数时,都会产生E_NOTICE 或者 E_WARNING 信息,而又在php中,date.timezone这个选项,默认情况下是关闭的,无论用什么php命令都是格林威治标准时间,但是PHP5.3中如果没有设置部分时间类函数也会强行抛出了这个错误的。
PS:现在由于大部分人使用VPS/云主机,需要自己配置的环境的就更加会容易出现这个情况。
建议:不熟悉PHP环境还是用比较成熟的一键安装包吧。

方法1:
(最好的方法)在php.ini里加上找到date.timezone项,设置date.timezone = “Asia/Shanghai”,重启环境就ok了。

方法2:
在需要用到这些时间函数的时候,在页面添加date_default_timezone_set(“PRC”);

方法3:
在页头加上设置时区ini_set(‘date.timezone’,’Asia/Shanghai’);

使用函数及数组来获取当月第一天及最后一天,比较实用

function getthemonth($date)   {   $firstday = date('Y-m-01', strtotime($date));   $lastday = date('Y-m-d', strtotime("$firstday +1 month -1 day"));   return array($firstday,$lastday);   }   $today = date("Y-m-d");   $day=getthemonth($today);   echo "当月的第一天: ".$day[0]." 当月的最后一天: ".$day[1];   echo "<br/>";

获取本月第一天和最后一天的两种方法

    $BeginDate=date('Y-m-01', strtotime(date("Y-m-d")));    echo "本月的第一天为".date('Y-m-01',strtotime(date("Y-m-d")))."<br>";      //获取本月第一天    echo date('Y-m-d',mktime(0,0,0,date('m'),1,date('Y'))).'<br>';    echo "本月的最后一天为".date('Y-m-d', strtotime("$BeginDate +1 month -1 day"))."<br>";    //获取本月最后一天    echo date('Y-m-d',mktime(0,0,0,date('m')+1,0,date('Y')))."<br>";

获取上月第一天和最后一天的两种方法

    echo "上一个月的第一天".date('Y-m-01', strtotime('-1 month'))."<br>";    //获取上一个月的的第一天    echo date('Y-m-d',mktime(0,0,0,date('m')-1,1,date('Y'))).'<br>';    echo "上一个月的最后一天".date('Y-m-t', strtotime('-1 month'))."<br>";   //获取上一个月的最后一天    echo date('Y-m-d',mktime(0,0,0,date('m'),0,date('Y')))."<br>";
<?php     // $number = 123;    // $txt = sprintf("%f",$number);    // echo $txt;     //123.000000    header('content-type:text/html;charset=utf-8');    date_default_timezone_set('Asia/Shanghai');   //设置时区    //echo "date(Y-m-d)输出为".date("Y-m-d")."<br>";    //echo "date(Y-m-d h:i:s),time()输出为".date('y-m-d h:i:s',time())."<br>";    //echo date('l')."<br>";               //tuesday    $year = date('y');           //17    $month = sprintf('%02d',date('m') - 1);       //05    //echo strtotime("17-05-1")."<br>";      //1493568000    $BeginDate=date('Y-m-01', strtotime(date("Y-m-d")));    echo "本月的第一天为".date('Y-m-01',strtotime(date("Y-m-d")))."<br>";      //获取本月第一天    echo date('Y-m-d',mktime(0,0,0,date('m'),1,date('Y'))).'<br>';    echo "本月的最后一天为".date('Y-m-d', strtotime("$BeginDate +1 month -1 day"))."<br>";    //获取本月最后一天    echo date('Y-m-d',mktime(0,0,0,date('m')+1,0,date('Y')))."<br>";    echo "上一个月的第一天".date('Y-m-01', strtotime('-1 month'))."<br>";    //获取上一个月的的第一天    echo date('Y-m-d',mktime(0,0,0,date('m')-1,1,date('Y'))).'<br>';    echo "上一个月的最后一天".date('Y-m-t', strtotime('-1 month'))."<br>";   //获取上一个月的最后一天    echo date('Y-m-d',mktime(0,0,0,date('m'),0,date('Y')))."<br>";    // echo date('Y-m-d', strtotime("17-05-1"))."<br>";    // echo date('Y-m-d', strtotime("{$year}-{$month}-1"))."<br>";    // echo strtotime("{$year}-{$month}-1 +1 month -1 day")."<br>";    // echo  date('Y-m-d',strtotime("{$year}-{$month}-1 +1 month -1 day"))."<br>"; ?>
阅读全文
0 0
原创粉丝点击