WithCoderWithCoderWithCoder

PHP函数学习之time(),date(),microtime()三者的介绍与区别

1. microtime() 返回当前 Unix 时间戳和微秒数。microtime() 函数仅在支持 gettimeofday() 系统调用的操作系统下可用。其语法如下:

microtime ([ bool $get_as_float ] ) : mixed

如果调用时不带可选参数,microtime() 函数以 "msec sec" 的格式返回一个字符串,其中 sec 是自 Unix 纪元(0:00:00 January 1, 1970 GMT)起到现在的秒数,msec 是微秒部分。字符串的两部分都是以秒为单位返回的。按照格林威治时间计算。

如果给出了 get_as_float 参数并且其值等价于 TRUE,microtime() 将返回一个浮点数,返回的值是 sec + msec 的和,保留四位小数。

<?php
echo microtime();
echo "<br>";
echo microtime(true);

结果为:

0.66637600 1584344022
1584344022.6664

2. time() 返回当前的 Unix 时间戳 (自从 Unix 纪元格林威治时间 1970 年 1 月 1 日 00:00:00 起到现在的秒数),其值与 microtime() 的sec值一致。其语法如下:

time ( void ) : int
<?php
echo microtime(true);
echo "<br>";
echo time();

结果如下:

1584344547.9374
1584344547

3. date() 格式化一个本地时间/日期。其语法如下:

date ( string $format [, int $timestamp ] ) : string
date() 方法将整数 timestamp 按照给定的格式,格式化为字符串。如果没有给出时间戳则使用本地当前时间。换句话说,timestamp 是可选的,其默认值为 time()。
<?php
ini_set("date.timezone", "Asia/Shanghai");
echo time();
echo "<br>";
echo date('Y-m-d H:i:s');

结果如下:

1584345271
2020-03-16 15:54:31

三个方法的区别:

区别一:
1. microtime()返回的结果是以 "msec sec" 的字符串格式(不传参)或 sec+msec 的浮点数格式(传参 true)返回秒和微秒。
2. time() 返回的是秒数,值与 microtime() 的sec值一致。
3. date() 返回的是格式化后的时间(默认时间是time())。
区别二:

1. microtime()和time()是和时区无关的,但是date()是和时区有关的。

2. time()通过date()的格式化,其值是系统当前的时间。

3. microtime()则多用来随机数函数mt_srand()的初始化工作的一部分,给随机数发生器播种。

欢迎分享交流,转载请注明出处:WithCoder » PHP函数学习之time(),date(),microtime()三者的介绍与区别