温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

php获取当前毫秒时间戳的方法

发布时间:2020-09-30 14:29:19 来源:亿速云 阅读:244 作者:小新 栏目:编程语言

小编给大家分享一下php获取当前毫秒时间戳的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

php获取当前毫秒时间戳的方法:使用【microtime()】函数获取,代码为【list($msec, $sec) = explode(' ', microtime());】。

php获取当前毫秒时间戳的方法:

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

microtime()函数的详细说明

<?php
echo microtime();
//输出结果是
//0.25139300 1138197510

注意了,它的结果是分两部分的,也就是前半部分是毫秒(但是单位是秒),后半部分是秒。

现在,我们依据这个做下修改,如下:

<?php
list($msec, $sec) = explode(' ', microtime());
$msectime = (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000);

这样就可以了,$msectime就是当前的毫秒数!可以将这两行封装成一个函数方便使用。

<?php
//返回当前的毫秒时间戳
function msectime() {
  list($msec, $sec) = explode(' ', microtime());
  $msectime = (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000);
  return $msectime;
}

注意:sprintf('%.0f', $num) 是输出不含小数部分的浮点数

事情还没有结束,我把时间戳改成毫秒级别后,再次更新数据库数据时,却提示超出范围,原来之前我在数据库中是用int型来存储time()函数获取的秒级别的时间戳,存储范围是够的,改成毫秒级别的,就得改成BIGINT类型了。

整数类型         字节          范围(有符号)            范围(无符号)                用途

TINYINT           1字节        (-128,127)                       (0,255)                    小整数值

SMALLINT          2字节     (-32 768,32 767)                    (0,65 535)                 大整数值

MEDIUMINT         3字节    (-8 388 608,8 388 607)               (0,16 777 215)             大整数值

INT或INTEGER      4字节   (-2 147 483 648,2 147 483 647)       (0,4 294 967 295)            大整数值

BIGINT            8字节   (-9 233 372 036 854 775 808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值

以上是php获取当前毫秒时间戳的方法的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI