• 技术文章 >后端开发 >php教程

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

    小云云小云云2018-03-03 13:25:48原创1241
    本文主要和大家介绍php实现获取当前毫秒时间戳方法,希望能帮助到大家。

    最近在做一个智能家居项目的后台,需要实时上传用户对智能设备的配置信息到服务器,以便实现同步,因此对于时间的精确度要求比较高,最开始直接是用php的time()函数来获取时间戳,获取的时间精确到秒级别,如果客户端同时操作的话还是有可能产生冲突,因此建议将时间戳精度提高到毫秒级别,但是在php没有自带的函数能获取毫秒时间戳,但提供了一个microtime()函数,如果调用时不带可选参数,本函数以 "msec sec" 的格式返回一个字符串,其中 sec 是自 Unix 纪元(0:00:00 January 1, 1970 GMT)起到现在的秒数,msec 是微秒部分。字符串的两部分都是以秒为单位返回的。

    案例:

    1. <?php


    2. //返回当前的毫秒时间戳

    3. function msectime() {

    4. list($msec, $sec) = explode(' ', microtime());

    5. $msectime = (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000);

    6. }

    7. 注意: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中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php 时间 毫秒
    上一篇:Redis在PHP的一些使用方法 下一篇:phpqrcode类库生成二维码实例代码
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• 20+值得了解的PHP面试题(附答案分析)• 有哪位高手会改.htaccess内容 • session,该怎么处理 • PHP登录跳转,该怎么处理 • 帮忙分析下哪里异常
    1/1

    PHP中文网