当前位置: 首页 > 编程笔记 >

PHP实现获取毫秒时间戳的方法【使用microtime()函数】

荀辰钊
2023-03-14
本文向大家介绍PHP实现获取毫秒时间戳的方法【使用microtime()函数】,包括了PHP实现获取毫秒时间戳的方法【使用microtime()函数】的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了PHP实现获取毫秒时间戳的方法。分享给大家供大家参考,具体如下:

PHP获取毫秒时间戳,利用microtime()函数

php本身没有提供返回毫秒数的函数,但提供了一个microtime()函数,借助此函数,可以很容易定义一个返回毫秒数的函数。

php的毫秒是没有默认函数的,但提供了一个microtime()函数,该函数返回包含两个元素,一个是秒数,一个是小数表示的毫秒数,借助此函数,可以很容易定义一个返回毫秒数的函数,例如:

function getMillisecond() {
  list($s1, $s2) = explode(' ', microtime());
  return (float)sprintf('%.0f', (floatval($s1) + floatval($s2)) * 1000);
}
/*
* 获取时间差,毫秒级
*/
function get_subtraction()
{
  $t1 = microtime(true);
  $t2 = microtime(true);
  return (($t2-$t1)*1000).'ms';
}
/*
* microsecond 微秒   millisecond 毫秒
*返回时间戳的毫秒数部分
*/
function get_millisecond()
{
  list($usec, $sec) = explode(" ", microtime());
  $msec=round($usec*1000);
  return $msec;
}
/*
*
*返回字符串的毫秒数时间戳
*/
function get_total_millisecond()
{
  $time = explode (" ", microtime () );
  $time = $time [1] . ($time [0] * 1000);
  $time2 = explode ( ".", $time );
  $time = $time2 [0];
  return $time;
}
/*
*
*返回当前 Unix 时间戳和微秒数(用秒的小数表示)浮点数表示,常用来计算代码段执行时间
*/
function microtime_float()
{
  list($usec, $sec) = explode(" ", microtime());
  return ((float)$usec + (float)$sec);
}
$millisecond = get_millisecond();
$millisecond = str_pad($millisecond,3,'0',STR_PAD_RIGHT);
echo date("YmdHis").$millisecond;

运行结果:

20190301013407194

需要注意,在32位系统中php的int最大值远远小于毫秒数,所以不能使用int类型,而php中没有long类型,所以只好使用浮点数来表示。由于使用了浮点数,如果精度设置不对,使用echo显示获取的结果时可能会不正确,要想看到输出正确的结果,精度设置不能低于13位。

PS:这里再为大家推荐几款时间及日期相关工具供大家参考:

在线日期/天数计算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi

在线日期计算器/相差天数计算器:
http://tools.jb51.net/jisuanqi/datecalc

在线日期天数差计算器:
http://tools.jb51.net/jisuanqi/onlinedatejsq

Unix时间戳(timestamp)转换工具:
http://tools.jb51.net/code/unixtime

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php日期与时间用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

 类似资料:
  • 本文向大家介绍php生成毫秒时间戳的实例讲解,包括了php生成毫秒时间戳的实例讲解的使用技巧和注意事项,需要的朋友参考一下 php时间函数time()生成当前时间的秒数,但是在一些情况下我们需要获取当前服务器时间和GMT(格林威治时间)1970年1月0时0分0秒的毫秒数,与Java中的currentTimeMilis()函数一样。 例子: 以上就是小编为大家带来的php生成毫秒时间戳的实例讲解的全

  • 本文向大家介绍php使用Swoole实现毫秒级定时任务的方法,包括了php使用Swoole实现毫秒级定时任务的方法的使用技巧和注意事项,需要的朋友参考一下 项目开发中,如果有定时任务的业务要求,我们会使用linux的crontab来解决,但是它的最小粒度是分钟级别,如果要求粒度是秒级别的,甚至毫秒级别的,crontab就无法满足,值得庆幸的是swoole提供的强大的毫秒定时器。 应用场景举例 我们

  • 我需要使用格式“m-d-Y H:I:s.u”(包括毫秒)在laravel应用程序上以高精度的时间戳存储更新的_ 根据laravel文档,我可以通过在类上设置$dateFormat属性来自定义日期格式,但是。。。 主要问题是Laravel的模式生成器在数据库中添加了一列类型时间戳,当我使用$table- 有什么办法可以做到这一点吗?

  • 我在努力挑战自己;我的目标是在没有或方法的情况下创建并打印一个随机数。 我已经有了一种不使用就可以打印到控制台的方法,但我遇到了一个障碍,无法找到一种不使用系统调用就可以获取时间的方法。 我明白我需要当前的时间来作为我的随机数生成的种子。 我想不使用任何数学或时间相关的导入 编辑:也许不该问这个...这只是我的一个想法,哈哈

  • 本文向大家介绍PHP 获取 ping 时间的实现方法,包括了PHP 获取 ping 时间的实现方法的使用技巧和注意事项,需要的朋友参考一下 PHP 可以通过exec函数执行shell命令,来获取ping时间。 代码示例: 运行结果: I am linux linux info : Array ( [0] => PING 115.29.237.28 (115.29.237.28) 56(84) by

  • 问题内容: 我在Vala中编写一些代码,在那里我将首先获取系统时间,然后创建一个文件,然后检索该文件的时间戳。时间戳记总是早于系统时间,介于500到1500微秒之间,这没有任何意义。 然后,我编写了一个简单的shell脚本: 结果如下: 如您所见,小数点后的前3位(毫秒)似乎可以正常显示,因为它们正在按预期的顺序递增,但是第4位及其后的数字看起来不正确。倒数第4至9位似乎在变慢。我有什么理由吗,尽