PHP 时间函数time、date和microtime的区别
一、time、date 和 microtime函数
time----返回当前的 Unix 时间戳
date----格式化一个本地时间/日期
microtime----返回当前的 Unix 时间戳和微秒数
二、三者的区别
1.time() 函数
time() 函数返回的是从 Unix 纪元(格林威治1970年1月1日00:00:00)到当前时间的秒数,如下
<?php
echo time();
--------------------
输出结果
1546501413
2.date() 函数
date() 返回将整数 timestamp 按照给定的格式字符串而产生的字符串,如下
<?php
echo date("Y-m-d H:i:s",time()); ---------------------------------------
输出结果
2019-01-03 07:44:57
3.microtime() 函数
microtime() 返回当前 Unix 时间戳和微秒数。如果调用时不带可选参数,该函数以 "msec sec" 的格式返回一个字符串,其中
sec 是从 Unix 纪元(格林威治1970年1月1日00:00:00)起到当前时间的秒数,msec 是微秒部分这一点需要注意下有的文章上写
的是毫秒可以参考 PHP 手册,字符串的两部分都是以秒为单位返回的。如果可选参数为 true,microtime(true),返回的值是 sec
+ msec 的和,保留四位小数,如下:
<?php
list($msec, $sec) = explode(" ", microtime());
echo $msec;
echo "<br />";
echo $sec;
---------------------------------------
输出结果 0.30716500<br />1546501702
time() 函数多用于记录当前时间,date() 函数用于格式化一个时间戳,microtime() 函数可用于计算时间差,比如常用统计一个程序
的运行时间等
4.通过 microtime() 函数获取毫秒时间戳
#Example 01 获取时间差,毫秒级
<?php function get_subtraction() {
$t1 = microtime(true);
$t2 = microtime(true); echo (($t2 - $t1)*1000).'ms';
}
get_subtraction(); --------------------------------------- 输出结果:
0.0019073486328125ms
#Example 02 返回时间戳的毫秒部分
<?php
2
3 function get_millisecond() {
4 list($msec, $sec) = explode(" ", microtime());
5 $msec = round($msec * 1000);
6 echo $msec;
7 }
8
9 get_millisecond(); ------------------------------------------------------------
输出结果:
535
#Example 03 返回当前 Unix 时间戳和微秒数(用秒的小数表示)浮点数表示,常用来计算代码执行时间
<?php
2
3 function microtime_float() {
4 list($msec, $sec) = explode(" ", microtime());
5 echo (float)$msec + (float)$sec;
6 }
7
8 microtime_float();
上面这段代码的结果和 microtime(true) 相等
#Example 04 获取毫秒级别时间戳
<?php
2
3 list($msec, $sec) = explode(" ", microtime());
4 $msectime = (float)sprintf("%.0f", (floatval($msec) + floatval($sec)) * 1000);
5
6 echo $mesctime; ------------------------------------ 输出结果: 1546509149102
floatval() 函数获取变量的浮点值,doubleval() 函数是它的别名,具体使用可以参考 PHP 手册
sprintf("%.0f",$num) 输出不包含小数部分的浮点数
PHP 时间函数time、date和microtime的区别的更多相关文章
- php时间函数time(),date(),mktime()区别
php时间函数time(),date(),mktime()区别 浏览:1161 发布日期:2014/12/18 分类:系统代码 关键字: php时间函数 time() date()mktime() ...
- 玩转PHP(二)--PHP强大的时间函数:date()
PHP具有相对来说强大的时间函数date(),该方法有下列一系列参数: 例如: echo date("Y-m-d H:i:s"); //2015-01-09 13:03:30 如果 ...
- Perl 日期时间函数(date time)
use Time::HiRes qw(time);use POSIX qw(strftime); my $t = time;my $date = strftime "%Y%m%d %H:%M ...
- date时间函数
时间函数: date();和time();的相互转换 time(); 在PHP中单位是秒,在js中是毫秒. microtime(); 毫秒 date('Y-m-d H:i:s',time()); ...
- php时间函数整理
PHP中的时间函数有这么些:(1)date用法: date(格式,[时间]);如果没有时间参数,则使用当前时间. 格式是一个字符串,其中以下字符有特殊意义:U 替换成从一个起始时间(好象是1970年1 ...
- php时间函数
PHP中的时间函数有这么些:(1)date用法: date(格式,[时间]);如果没有时间参数,则使用当前时间. 格式是一个字符串,其中以下字符有特殊意义:U 替换成从一个起始时间(好象是1970年1 ...
- php时间函数大锦集
PHP中的时间函数有这么些:(1)date用法: date(格式,[时间]);如果没有时间参数,则使用当前时间. 格式是一个字符串,其中以下字符有特殊意义:U 替换成从一个起始时间(好象是1970年1 ...
- SQLite日期时间函数
SQLite日期时间函数 SQLite支持以下五个日期时间函数: date(timestring, modifier, modifier, …) time(timestring, modifier, ...
- sqlite 时间函数及时间处理
SQLite分页显示:Select * From news order by id desc Limit 10 Offset 10这篇文章是根据 SQLite 官方 WIKI 里的内容翻译,如果有什么 ...
随机推荐
- spriteJS
https://blog.csdn.net/qq_37261367/article/details/84662028
- 360浏览器有个 谷歌访问助手(插件管理里搜谷歌即可) 可以免费访问:谷歌搜索,Google+ gmail
360浏览器有个 谷歌访问助手(插件管理里搜谷歌即可) 可以免费访问:谷歌搜索,Google+ gmail
- POJ 2492 A Bug's Life (并查集)
Background Professor Hopper is researching the sexual behavior of a rare species of bugs. He assumes ...
- PLSQL 问题小记
问题1:在一个拼写长字符串的函数中,若出现ora-06502或者ora-06512的错误,则有可能是在拼串的过程中,数据类型的隐式转换出了问题,如:字符类型转为数字,此时会出现错误. 解决方案:在拼串 ...
- 跨域的根本原因:JavaScript 的同源策略
摘自:https://blog.csdn.net/liubo2012/article/details/43148705 同源策略限制了一个源(origin)中加载文本或脚本与来自其它源(origin) ...
- java中BufferedImage类的用法
1. BufferedImage是Image的一个子类,Image和BufferedImage的主要作用就是将一副图片加载到内存中. BufferedImage生成的图片在内存里有一个图像缓冲区,利用 ...
- rsync 同步文件如何指定属主属组和权限
rsync daemon 同步数据时,若想同时指定权限和属主属组,可以做如下配置: [test1] uid = admin gid = admin incoming chmod = Dug=rwx,D ...
- php 使用fileupload上传多张图片,压缩包
test.php <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- P2709 小B的询问(莫队)
P2709 小B的询问 莫队模板 资磁离线询问 维护两个跳来跳去的指针 先分块,蓝后询问按块排序. 蓝后每次指针左右横跳更新答案 #include<iostream> #include&l ...
- spring使用@Value标签读取.properties文件的中文乱码问题的解决
最近测试某个老系统的时候,启动的时候发@Value注入的中文是乱码,文件使用GBK/UTF-8的时候均会出现乱码问题,但是spring配置文件里面注入的占位符并没有这个问题,bean文件设置了file ...