首页 > 代码库 > 时间戳函数

时间戳函数

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));

时间戳函数