PHP获取毫秒时间戳,利用microtime()函数
web PHP 2019-04-30 3087 0
关于本站

“最难不过坚持”

本人承接扒站仿站,php网站维护,病毒查杀,网站编辑,网站改版,html制作

有需要网站维护,改版,病毒查杀,网站编辑,网站备案,html制作等相关的工作可以联系我。
本人有多年相关工作经验,也可提供免费咨询,交个朋友。
有需要探讨问题的朋友,也可以加我微信,共同探讨!
微信:15011482830 QQ:408917339

6399993 2609 39
最新评论
https://jueru.net/
评 留言
:weixiao:
评 留言
:shuijiao: :weiqu: :zhenbang: :leng:
评 留言
:yiwen: :yiwen: :yiwen: :yiwen:
评 EasySass: could not generate CSS file. See Output panel for details.
这个业务逻辑多少都有点奇怪了,阅读浏览次数增值在新闻详情页的控制器方法里setInc,这怎么还写进模型事件里了。如果非要用onAfterRead也可以,把新闻文章的内容单独分出来一个news_content表,然后把它和news做关联,然后给news_content表的onAfterRead事件做增值处理,这样点进新闻页内查询到文章内容时才会触发它。
评 TP6模型事件-查询后onAfterRead不好用
文章标签更多
ThinkPHP (254)
Mysql (58)
DedeCms (33)
jQuery (67)
证件照 (1)
setInc (4)
setDec (4)
onclick (5)
打开边栏(ESC) 关闭边栏(ESC)

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

<?php
// microsecond 微秒     millisecond 毫秒 
// 返回时间戳的毫秒数部分
function get_millisecond() {
    list($microsec, $sec) = explode(" ", microtime()); // microtime()返回值"microsec sec",microsec微秒、sec秒
    $millisec = round($microsec * 1000);
    return $millisec; // millisec毫秒
} 
$millisecond = get_millisecond();
// $millisecond = str_pad($millisecond, 3, '0', STR_PAD_RIGHT); // str_pad的作用是毫秒数右侧补零,毫秒数总是显示3位,但是貌似不对,应该左侧补0啊
$millisecond = str_pad($millisecond, 3, '0', STR_PAD_LEFT);
echo '年-月-日 时:分:秒 毫秒<br>';
echo date("Y-m-d H:i:s") . ' ' . $millisecond;
?>

其他示例:

<?php
function getMillisecond() {
    list($s1, $s2) = explode(' ', microtime());
    return (float)sprintf('%.0f', (floatval($s1) + floatval($s2)) * 1000);
} 
echo getMillisecond(); // 1556600981788 不太懂
echo '<br>';
// 获取时间差,毫秒级
function get_subtraction() {
    $t1 = microtime(true);
	usleep(100); // 暂停100微秒,1秒 = 1000毫秒 ,1毫秒 = 1000微秒
    $t2 = microtime(true);
    return (($t2 - $t1) * 1000) . 'ms';
} 
echo get_subtraction(); // 0.99992752075195ms
echo '<br>';
// 返回字符串的毫秒数时间戳
function get_total_millisecond() {
    $time = explode (" ", microtime ());
    $time = $time [1] . ($time [0] * 1000);
    $time2 = explode (".", $time);
    $time = $time2 [0];
    return $time;
} 
echo get_total_millisecond(); // 1556600981788
echo '<br>';
// 返回当前 Unix 时间戳和微秒数(用秒的小数表示)浮点数表示,常用来计算代码段执行时间
function microtime_float() {
    list($microsec, $sec) = explode(" ", microtime());
    return ((float)$microsec + (float)$sec);
} 
echo microtime_float(); // 1556600981.7884
?>
需要注意,在32位系统中php的int最大值远远小于毫秒数,所以不能使用int类型,而php中没有long类型,所以只好使用浮点数来表示。由于使用了浮点数,如果精度设置不对,使用echo显示获取的结果时可能会不正确,要想看到输出正确的结果,精度设置不能低于13位。

版权声明:本篇文章来源于网络。 来源链接

相关推荐
php实现ZIP压缩文件解压缩,中文乱码解决方法(重要)
PHP | 2019-04-30 5599
直接上代码,具体代码里面都有注释。直接中文压缩文件解压到中文文件夹。 <?php // 需开启配置 php_zip.dll // phpinfo(); header("Content-type:text/html;charset=utf-8"); /* * $filename 被解压文件名 * $path 解压...
openssl_private_decrypt解密失败
PHP | 2019-01-16 5575
复制别人的解密程序,原程序可以解密,复制过来就不可以 一步步尝试发现,秘钥换行符有区别, 原秘钥有换行符,复制过来不知道什么时候把换行符清空了,成了一行字符串了。
评论:0条
评论加载中...
发表评论