1.时间戳函数、
时间戳是指1970年1月1日 00:00到现在这一刻经过的秒数 用函数time()来表示
进php.ini 搜索里面的date.timezone 改成东八区 重启保存apache
时间戳格式化
time()是时间戳函数
date()是格式化函数 里面有2个参数 一个是格式化的形式 还有个是时间戳函数
Y代表年,m代表月份,d代表日期 H代表24小时计时的时钟 i代表分钟 S代表秒钟
echo date(‘Y-m-d H:i:s‘,time());
题目
显示明天的时间
时间戳是以秒数来算的 所以计算也要用秒数来算
一天的时间秒数$a = 60*60*24;
echo date(‘Y-m-d H:i:s‘,time()+$a)//昨天的时间就用减号
echo date("Y-m-d H:i:s",time());//今天的时间
echo "<br/>";
$a = 24*60*60;//1天24个小时的秒数
echo date("Y-m-d H:i:s",time()-$a);//昨天的时间
国外写法,将年份放在后面也是可以的
echo date(‘m/d Y H:i:s‘ , $lastday‘),‘<br >‘;
2.更改时区的设置方法系统默认的是欧洲时区 所以要改php.ini配置文件吧里面date.timezong默认的欧洲时间改为东八区的PRC
PHP更改时区的设置方法
1、修改php.ini,在php.ini中找到data.timezone =去掉它前面的;号,然后设置data.timezone = “Asia/Shanghai”;或者PRC即可。
2、在程序PHP 5以上版本的程序代码中使用函数ini_set(‘date.timezone‘,‘Asia/Shanghai‘);或者date_default_timezone_set(‘Asia/Shanghai‘);
一些常用的时区标识符说明:
Asia/Shanghai – 上海
Asia/Chongqing – 重庆
Asia/Urumqi – 乌鲁木齐
Asia/Hong_Kong – 香港
Asia/Macao – 澳门
Asia/Taipei – 台北
Asia/Singapore – 新加坡
3.时间解析函数
mktime() — 取得一个日期的 Unix 时间戳
strtotime() — 将任何英文文本的日期时间描述解析为 Unix 时间戳
checkdate() — 验证日期是否合法
echo mktime(‘18‘,‘37‘,‘35‘,‘2‘,‘22‘,‘2016‘);//把具体时间返回成时间戳 里面的参数为(‘时钟‘,‘分钟‘,‘秒钟‘,‘月份‘,‘日期‘,‘年份‘);
echo strtotime(‘now‘);
echo strtotime("10 september 2000")/*10月*口语化转换成时间戳 ‘now‘现在 ‘+1 day‘明天
var_dump(checkdate(9,16,2016));//验证一个日期是否合法 参数为(‘月份‘,‘日期‘,‘年份‘)返回一个bool值
echo "<br/>";
//求两个日期的差数,例如2007-2-5 ~ 2007-3-6 的日期差数*/
// 方法一:用DateTime类
$day1 = ‘2003-09-16‘;
$day2 = ‘2011-11-23‘;
$d1 = new dateTime($day1);
$d2 = new dateTime($day2);
echo $d1->diff($d2)->days;
echo "<br/>";
// 方法二,用时间戳计算
echo (strtotime($day2) - strtotime($day1))/(24*3600);
echo "<br/>";
//方法三,用MKtime()算
$a = mktime(‘0‘,‘0‘,‘0‘,‘9‘,‘16‘,‘2003‘);
$b = mktime(‘0‘,‘0‘,‘0‘,‘11‘,‘23‘,‘2011‘);
$c = ($b-$a)/(24*3600);
echo "二者相差",$c,"天";
echo "<br/>";
//用PHP打印出前一天的时间格式是2006-5-10
$a = mktime(‘0‘,‘0‘,‘0‘,‘5‘,‘10‘,‘2006‘);
echo date(‘Y-m-d‘,$a-(24*60*60));