100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > php时间戳与日期格式比大小 比较两个时间戳的大小

php时间戳与日期格式比大小 比较两个时间戳的大小

时间:2020-05-02 11:30:46

相关推荐

php时间戳与日期格式比大小 比较两个时间戳的大小

比较两个时间戳的大小

(实例位置:配套资源\SL\01\006 视频位置:配套资源\SP\01\006)

实例说明

在一些程序中经常需要将两个时间进行比较,但是由于时间是由年、月、日、时、分、秒组成的,比较起来很不方便,这时可以把时间转换成时间戳来进行比较。本实 例通过date()函数、strtotime()函数和ceil()函数实现比较两个时间戳的大小,运行结果如图1.6所示。

图1.6 比较两个时间戳的大小

实现过程

具体步骤如下:

(1)创建PHP脚本文件。首先对PHP语言中的时区进行设置,将时区更改为中国上海时区。然后通过strtotime()函数获取当前时间的UNIX时间戳,并与指定的时间戳进行算术运算。最后,将时间戳运算结果转换为天数,通过ceil()函数进行取整运算并输出结果。其代码如下:

php

date_default_timezone_set("Asia/ShangHai");//将格林威治时间设置为本地时间

$a=strtotime("now");//取得当前时间戳

$b=strtotime("05May");//取得5月5号的时间戳

echo$a."\n";

echo"输出日期".date("Y-m-dH:i:s",$a)."

";//取得以$a为时间点的时间

echo$b."\n";

echo"输出日期".date("Y-m-dH:i:s",$b)."

";//取得以$b为时间点的时间

$c=ceil(($a-$b)/(3600*24));//计算相差天数

echo"距5月5号已过去".$c."天";

?>

(2)将该文件存储于\MR\01\006文件夹下,并命名为index.php。运行结果如图1.6所示。

多学两招:

有效的时间戳通常从Fri, 13 Dec 1901 20:45:54 GMT 到 Tue, 19 Jan 2038 03:14:07 GMT(对应于32位有符号整数的最小值和最大值)。不是所有的平台都支持负的时间戳,那么日记范围就被限制为不能早于UNIX纪元。这意味着在1970年1月1日之前的日期将不能用在Windows、某些Linux版本以及几个其他的操作系统中。

技术要点

本实例主要是通过strtotime()函数将时间转换为UNIX时间戳,并进行相关取整运算而实现的。其中涉及相关函数语法如下。

(1)strtotime()函数:本函数预期接受一个包含英文日期格式的字符串并尝试将其解析为UNIX时间戳。

intstrtotime(stringtime[,intnow]);

该函数有两个参数。如果参数time的格式是绝对时间,则now参数不起作用;如果参数time的格式是相对时间,其对应的时间就是参数now来提供的,当没有提供参数now时,对应的时间就为当前时间。如果解析失败,则返回false。在PHP5.1.0之前的版本中,本函数在失败时返回-1。

(2)ceil()函数:返回不小于value的下一个整数。

floatceil(floatvalue);

脚下留神:

在UNIX系统中,日期与时间表示为自1970年1月1日零点起到当前时刻的秒数,这种时间称为UNIX时间戳,以32位二进制表示。其中,1970年1月1日零点称为UNIX世纪元。UNIX时间戳提供了一种统一、简洁的时间表示方式,在不同的操作系统中均支持这种时间表示方式,同一时间在UNIX和Windows中均以相同的UNIX时间戳表示,所以不需要在不同的系统中进行转换。同时,UNIX时间戳是一个时间差,与时区没有关系,无论当前PHP中使用的是何种时区,其UNIX时间戳都是唯一的。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。