获取日期

来源:互联网 发布:mac香港买还是韩国买 编辑:程序博客网 时间:2024/06/05 23:56
/*
PHP的时间和日期
    获取Unix时间戳
        time()  获取当前时间戳
            因为Unix操作系统的诞生,1970年为Unix元年
        mktime() 获取一个指定日期的时间戳
            mktime(时,分,秒,月,日,年)
            没有给的参数默认为当前的!
        strtotime()将英文的时间日期描述转换为时间戳
 */


echo time();


echo '<hr>';


echo mktime(23, 15, 10, 10, 9, 1983);


echo '<hr>';


echo strtotime('+1day').'<br>';//明天这个时候的时间戳
echo strtotime('-1day').'<br>';//昨天这个时候的时间戳
echo strtotime('1week').'<br>';//下周这个时候的时间戳
echo strtotime('-1week').'<br>';//上周这个时候的时间戳
echo strtotime('2017-3-18').'<br>';//这个时候的时间戳

echo strtotime('2038-01-19 11:14:07').'<br>';//这个时候的时间戳

/*
修改时区的方式有3种:
    1、改php.ini配置文件:
        date.timezone = "PRC"   //默认为UTC
            //PRC 中华人民共和国的简写
            //People's Republic of China
    2、通过ini_set函数来临时设置
        ini_set('date.timezone', 'PRC');
    3、通过专门的函数来设置或者获取
        date_default_timezone_set('PRC');


        //获取当前的时区设置
        date_default_timezone_get();


 */


//临时设置时区为格林威治,会有8个小时的偏差
date_default_timezone_set('UTC');
echo strtotime('1970-1-1 0:0:0');//0


/*
date(格式字串[, 时间戳])
    格式字串中不能被识别的字符将原样显示


    echo date('Y');  //4位完完整年份
    echo date('m');  //月份
    echo date('d');  //日
    echo date('H');  //时
    echo date('i');  //分
    echo date('s');  //秒


    y 两位数的年份
    n 没有前导0的月份
    j 没有前导0的日
    G 没有前导0的小时
 */
date_default_timezone_set('UTC');
// echo date('y¥%……&*');
echo date('Y');  //4位完完整年份
echo date('m');  //带前导0的月份
echo date('d');  //带前导0的日
echo date('H');  //带前导0的时
echo date('i');  //带前导0的分
echo date('s');  //带前导0的秒
echo '<hr>';


echo date('Y-m-d H:i:s');


//输出当前的年月日,注意必须设置时区,在练习的过程中,遇到下面的报错信息。

访问页面中提示:

date(): It is not safe torely on the system’s timezone settings. You are *required* to use the date.timezonesetting or the date_default_timezone_set() function. In case you used any ofthose methods and you are still getting this warning, you most likelymisspelled the timezone identifier.具体解决方法:

修改php.ini配置文件

在php.ini配置文件中找到:  ;date.timezone = ,把前面的分号去掉在 “=”后面加上时区。

date.timezone ="Asia/Shanghai"

修改完后,重启apache即可。

 

echodate("Y-m-d");

echo'<br>';

echo date("Y-m-d",time());

 

//php获取昨天日期    

date("Y-m-d",strtotime("-1 day"))    

//php获取明天日期    

date("Y-m-d",strtotime("+1 day"))    

//php获取一周后日期    

date("Y-m-d",strtotime("+1 week"))    


//php获取一周零两天四小时两秒后时间    

date("Y-m-d G:H:s",strtotime("+1 week 2 days 4 hours 2 seconds"))    

//php获取下个星期四日期    

date("Y-m-d",strtotime("next Thursday"))    

//php获取上个周一日期    

date("Y-m-d",strtotime("last Monday"))    

//php获取一个月前日期    

date("Y-m-d",strtotime("last month"))    

//php获取一个月后日期    

date("Y-m-d",strtotime("+1 month"))    

//php获取十年后日期    

date("Y-m-d",strtotime("+10 year"))    

//php获取今天起止时间戳    

mktime(0,0,0,date('m'),date('d'),date('Y'));    

mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;    

//php获取昨天起止时间戳    

mktime(0,0,0,date('m'),date('d')-1,date('Y'));    

mktime(0,0,0,date('m'),date('d'),date('Y'))-1;    

//php获取上周起止时间戳    

mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y'));    

mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y'));    

//php获取本月起止时间戳    

mktime(0,0,0,date('m'),1,date('Y'));    

mktime(23,59,59,date('m'),date('t'),date('Y'));


$time1 = strtotime(date("Y-m-d H:i:s"));       //获取当前日期

$time2 = strtotime(date("2017-1-28 00:00:00"));//2017年春节日期

$sub1 = ceil(($time2-$time1)/3600);  //距离春节的小时数

$sub2 =ceil(($time2-$time1)/86400);//距离春节的天数

echo"距离2017年春节还有<font color=red >$sub1</font>小时!!!";

echo"<p>";

echo"距离2017年春节还有<font color=red>$sub2</font>天!!!";