• 技术文章 >后端开发 >PHP问题

    php如何获取当前毫秒时间戳

    coldplay.xixicoldplay.xixi2020-09-29 13:46:27原创1767

    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培训栏目!

    以上就是php如何获取当前毫秒时间戳的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php 毫秒时间戳
    上一篇:php如何将数字转换成字符串 下一篇:php 金额大小写如何转换
    大前端线上培训班

    相关文章推荐

    • php时间戳如何转java• php日期转为时间戳的方法• php如何将时间戳转换成小时制• php中的时间戳转换函数是什么

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网