【毫秒级】时间

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #ba2da2; background-color: #ffffff }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #008400; background-color: #ffffff }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #ffffff }
p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; background-color: #ffffff; min-height: 14.0px }
p.p5 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #272ad8; background-color: #ffffff }
span.s1 { color: #ba2da2 }
span.s2 { color: #008400 }
span.s3 { color: #272ad8 }
span.s4 { color: #d12f1b }
span.s5 { color: #000000 }

<?PHP

/*

 * Created on 2018-03-12  毫秒级时间

 * Programmer : andy

 * Develop a project PHP - MySQL - Apache

 */

namespace Common\Model;

class MsecTimeModel

{

    /**

     * desc 返回当前的毫秒时间戳

     */

    function getMsectime() {

        list($msec, $sec) = explode(‘ ‘, microtime());

        $msectime =  (float)sprintf(‘%.0f‘, (floatval($msec) + floatval($sec)) * 1000000);

        return $msectime;

    }

    /**

     *desc 时间戳 转   日期格式 : 精确到毫秒,x代表毫秒

     */

    function getMicrotimeFormat($time)

    {

        $time=$time*0.000001;

        if(strstr($time,‘.‘)){

            sprintf("%01.6f",$time); //小数点。不足6位补0

            list($usec, $sec) = explode(".",$time);

            $sec = str_pad($sec,6,"0",STR_PAD_RIGHT); //不足6位。右边补0

        }else{

            $usec = $time;

            $sec = "000000";

        }

        $date = date("Y-m-d H:i:s.x",$usec);

        return str_replace(‘x‘, $sec, $date);

    }

    /**

     * @desc 时间日期转时间戳格式,精确到毫秒

     */

    function getDataFormat($time)

    {

        list($usec, $sec) = explode(".", $time);

        $date = strtotime($usec);

        $return_data = str_pad($date.$sec,13,"0",STR_PAD_RIGHT); //不足13位。右边补0

        return $return_data;

    }

    /**

     *desc 获取当前时间 精确到秒

     */

    function getCurrenMsecTime()

    {

        return $this->getMicrotimeFormat($this->getMsectime());

    }

    /**

     *desc 时间毫秒级改为到秒

     */

    function getTimeByMsecTime($MsecTime)

    {

        $time=strtotime($MsecTime);

        if(empty($MsecTime) or $MsecTime==null or $time==0)

            return ‘0000-00-00 00:00:00‘;

        return date(‘Y-m-d H:i:s‘,$time);

    }

}

?>

原文地址:https://www.cnblogs.com/fyandy/p/8688154.html

时间: 2024-10-27 09:29:41

【毫秒级】时间的相关文章

c++ 中 毫秒级时间获取

#include <time.h> clock_t start,ends;start=clock(); Sleep(50); ends=clock(); cout<<ends-start<<endl; time_t 获得时间只能精确到秒,clock_t 获得时间能够精确到毫秒

android开发:jni下native代码获取毫秒级时间

#include <android/log.h> #define LOG_TAG "" #define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__) struct timeval xTime; int xRet = gettimeofday(&xTime, NULL); long long xFactor = 1; long long now = (long long)(

在Windows及Linux下获取毫秒级运行时间的方法

在Windows下获取毫秒级运行时间的方法 头文件:<Windows.h> 函数原型: /*获取时钟频率,保存在结构LARGE_INTEGER中***/ WINBASEAPI BOOL WINAPI QueryPerformanceFrequency( _Out_ LARGE_INTEGER * lpFrequency ); /*获取从某个时间点开始的时钟周期数,保存在结构LARGE_INTEGER中**/ WINBASEAPI BOOL WINAPI QueryPerformanceFreq

如何统计毫秒级的时间差

计算毫秒级的时间差算是一个常见的需求吧... 手头上是windows编程的项目,所以首先就想到的是GetTickCount(),但MSDN上这么说: 写个程序试一下吧: 1 #include <stdio.h> 2 #include <windows.h> 3 4 int main(void) 5 { 6 DWORD dwLastTime = GetTickCount(); 7 for (int i = 0; i != 10; ++i) 8 { 9 DWORD dwCurrentT

WPF毫秒级桌面时钟的实现-C#中Hook(钩子)的应用

最近由于项目中需要精确记录某些操作的发生时间,但又没有办法打日志,因此写了个小工具,用来记录当前的毫秒级本机时间. (程序内部实现了全局钩子,监听所有的键盘事件,即KeyDown,KeyUp事件.) 工具功能如下: 1.通过任意键盘按键来记录当前时间 2.可以在列表处单击记录当前时间 C#中对于Hook API的包装如下: using System; using System.Collections.Generic; using System.Linq; using System.Reflect

C++高性能计数器——微秒级时间统计

在C++中,经常需要通过计时来统计性能信息,通过统计的耗时信息,来分析性能瓶颈,通常情况下,可能毫秒级别的时间统计就足够用了,但是在毫厘必争的性能热点的地方,毫秒级别的统计还是不够的,这种情况下,就需要至少微秒级别的统计信息,甚至要精确到CPU的指令周期级别.下面来重点说一下毫秒级的计时统计信息. 毫厘必争--微秒计时思路 在Windows平台上,用来统计微秒级别耗时信息,需要用到两个Windows API: BOOL WINAPI QueryPerformanceFrequency( _Out

shell脚本示例:计算毫秒级、微秒级时间差

有时候需要计算命令的执行时间长度,可以使用time命令,虽然time命令可以精确到毫秒级,但time命令无法计算一堆命令的执行时间.可以也可以直接使用date命令计算命令执行前后的时间差,但直接使用date命令计算时间差只能精确到秒级.因此,要计算毫秒级或者微秒级的时间长度,需要对date命令的结果进行一番计算转换. 本文只给出了毫秒级时间差的计算方法,若要计算微秒级时间差,对脚本稍作修改即可. 脚本如下: #!/bin/bash # filename: msec_diff.sh functio

Linux Shell获得毫秒级的时间戳

在linux Shell中并没有毫秒级的时间单位,只有秒和纳秒其实这样就足够了,因为纳秒的单位范围是(000000000..999999999),所以从纳秒也是可以的到毫秒的. current=`date "+%Y-%m-%d %H:%M:%S"`     #获取当前时间,例:2015-03-11 12:33:41        timeStamp=`date -d "$current" +%s`      #将current转换为时间戳,精确到秒 currentT

Linux 下产生毫秒级随机数方法

本来产生随机数使用srand((unsigned)time(NULL));data=rand();就可以了,但是发现如果在很短的时间(其实rand是秒级的)会发现产生的随机相等,所以想找可以产生毫秒级随机数产生方法,最后上网搜了一下.建议再用linux产生随机数时,最好用 struct timeval tv; gettimeofday(&tv, NULL); srand(tv.tv_sec + tv.tv_usec + getpid()); 头文件: #include <unistd.h&g