一、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的区别的更多相关文章

  1. php时间函数time(),date(),mktime()区别

    php时间函数time(),date(),mktime()区别   浏览:1161 发布日期:2014/12/18 分类:系统代码 关键字: php时间函数 time() date()mktime() ...

  2. 玩转PHP(二)--PHP强大的时间函数:date()

    PHP具有相对来说强大的时间函数date(),该方法有下列一系列参数: 例如: echo date("Y-m-d H:i:s"); //2015-01-09 13:03:30 如果 ...

  3. Perl 日期时间函数(date time)

    use Time::HiRes qw(time);use POSIX qw(strftime); my $t = time;my $date = strftime "%Y%m%d %H:%M ...

  4. date时间函数

    时间函数: date();和time();的相互转换 time();   在PHP中单位是秒,在js中是毫秒. microtime();  毫秒 date('Y-m-d H:i:s',time()); ...

  5. php时间函数整理

    PHP中的时间函数有这么些:(1)date用法: date(格式,[时间]);如果没有时间参数,则使用当前时间. 格式是一个字符串,其中以下字符有特殊意义:U 替换成从一个起始时间(好象是1970年1 ...

  6. php时间函数

    PHP中的时间函数有这么些:(1)date用法: date(格式,[时间]);如果没有时间参数,则使用当前时间. 格式是一个字符串,其中以下字符有特殊意义:U 替换成从一个起始时间(好象是1970年1 ...

  7. php时间函数大锦集

    PHP中的时间函数有这么些:(1)date用法: date(格式,[时间]);如果没有时间参数,则使用当前时间. 格式是一个字符串,其中以下字符有特殊意义:U 替换成从一个起始时间(好象是1970年1 ...

  8. SQLite日期时间函数

    SQLite日期时间函数 SQLite支持以下五个日期时间函数: date(timestring, modifier, modifier, …) time(timestring, modifier, ...

  9. sqlite 时间函数及时间处理

    SQLite分页显示:Select * From news order by id desc Limit 10 Offset 10这篇文章是根据 SQLite 官方 WIKI 里的内容翻译,如果有什么 ...

随机推荐

  1. node 读取多个文件、合并多个文件、读写多个文件

    一.读取文件 1.找文件中匹配的内容 let fs = require('fs') let content = fs.readFileSync('/Users/**/desktop/Test.txt' ...

  2. 每日linux命令学习-grep模式检索

    grep模式检索指令包括grep,egrep,和fgrep,.Linux系统使用正则表达式优化文本检索,所以在此,笔者首先学习了一下正则表达式. 1. 正则表达式 正则表达式使用被称为元字符(Meta ...

  3. Tomcat启动程序端口冲突、确认相应进程及杀死冲突进程的解决方案

    一. 查看所有进程占用的端口 在开始-运行-cmd,输入:netstat –ano可以查看所有进程 二.查看占用指定端口的程序(1)命令窗口输出 命令:netstat –ano | findstr & ...

  4. Linux内核线程创建

    本文旨在简单介绍一下Linux内核线程: 先举个例子: 不插U盘,在Linux命令行中输入:ps -el:然后插上U盘,再次输入:ps -el 会发现多出了下面一行(当然还会有其他的,比如scsi相关 ...

  5. sqlite3增删改查简单封装

    import sqlite3 class DBTool(object): def __init__(self): """ 初始化函数,创建数据库连接 "&quo ...

  6. windows下使用命令行运行PHP

    之前一直想,在命令行下能不能运行PHP程序,像C语言一样可以通过命令行拿到参数.今天尝试了一下发现可感觉挺有意思的,平时写着程序玩的时候就可以这样用,下面让咱么来看看怎么做的.我的环境是 php5.6 ...

  7. JAVA的内存模型及结构

    所有的Java开发人员可能会遇到这样的困惑?我该为堆内存设置多大空间呢?OutOfMemoryError的异常到底涉及到运行时数据的哪块区域?该怎么解决呢? Java内存模型 Java内存模型在JVM ...

  8. Javascropt-KeyCode

    当点回车时触发搜索事件 $(document).keydown(function (e) {                if (e.keyCode == 13) {                 ...

  9. Java 判断字符串是否为空的四种方法、优缺点与注意事项

    以下是Java 判断字符串是否为空的四种方法: 方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低: if(s == null ||"".equals(s));方法二: ...

  10. [c/c++] programming之路(2)、kill QQ,弹出系统对话框,吃内存等

    一.删除文件 二.盗取密码的原理 #include<stdlib.h> //杀掉QQ,然后提示网络故障,请重新登陆,弹出高仿界面,获取账号密码,然后打开QQ进行登录 void main() ...