php获取时间戳的微秒数(php 时间戳是几位数)

发布时间:2022-11-09

本文目录一览:

  1. php怎么将指定期时间转为时间戳(时间戳精确到毫秒)?
  2. php microtime获取浮点的时间戳
  3. PHP怎么获取时间戳的毫秒值
  4. php里的时间戳是以秒为单位吗?

php怎么将指定期时间转为时间戳(时间戳精确到毫秒)?

php并没有直接支持毫秒的日期时间函数,所以要想得到毫秒级的时间戳,就要把秒级的时间戳*1000。 需要注意的是,由于毫秒级的时间戳已经远远超过整数的大小范围,所以要用浮点数(且精度不能低于13位)来储存。 另外,要想把毫秒级的时间戳转为时间,务必先/1000再转换,否则错误,因为php并不认识所谓的毫秒级时间戳! 不过,虽然无法获得指定时间的毫秒级时间戳,但要想获得当前时间的毫秒数,却是有办法的:

echo microtime(true)*1000;

php microtime获取浮点的时间戳

一直以来用这个函数获取:

function microtime_float(){
    list($usec, $sec) = explode(" ", microtime());
    return ((float)$usec + (float)$sec);
}

看到别人的源码中用microtime(true),查了下手册,原来从PHP 5.0.0 开始,microtime增加了这个参数。 引用:

mixed microtime ([bool get_as_float])

microtime() 当前 Unix 时间戳以及微秒数。本函数仅在支持 gettimeofday() 系统调用的操作系统下可用。 如果调用时不带可选参数,本函数以 "msec sec" 的格式返回一个字符串,其中 sec 是自 Unix 纪元(0:00:00 January 1, 1970 GMT)起到现在的秒数,msec 是微秒部分。字符串的两部分都是以秒为单位返回的。 如果给出了 get_as_float 参数并且其值等价于 TRUE,microtime() 将返回一个浮点数。 注意: get_as_float 参数是 PHP 5.0.0 新加的。 如果程序肯定在PHP5以上的环境运行,那么就直接使用microtime(true)吧,比使用microtime_float函数至少快两倍。以下是我简单测试的程序代码。

<?php
function microtime_float3(){
    return microtime(true);
}
function microtime_float2(){
    if (PHP_VERSION >= 5){
        return microtime(true);
    }else{
        list($usec, $sec) = explode(" ", microtime());
        return ((float)$usec + (float)$sec);
    }
}
function microtime_float(){
    list($usec, $sec) = explode(" ", microtime());
    return ((float)$usec + (float)$sec);
}
function runtime($t1){
    return number_format((microtime_float() - $t1)*1000, 4).'ms';
}
$t1 = microtime_float();
for($i=0;$i<10000;$i++){
    microtime_float();
}
echo "microtime_float=====";
echo runtime($t1)."<br>";
$t1 = microtime(true);
for($i=0;$i<10000;$i++){
    microtime(true);
}
echo "microtime_true=====";
echo runtime($t1)."<br>";
$t1 = microtime(true);
for($i=0;$i<10000;$i++){
    microtime_float2();
}
echo "microtime_float2=====";
echo runtime($t1)."<br>";
$t1 = microtime(true);
for($i=0;$i<10000;$i++){
    microtime_float3();
}
echo "microtime_float3=====";
echo runtime($t1)."<br>";
?>

本机winxp运行结果:

microtime_float=====109.5631ms
microtime_true=====38.8160ms
microtime_float2=====52.7902ms
microtime_float3=====45.0699ms

Linux上运行结果:

microtime_float=====47.2510ms
microtime_true=====9.2051ms
microtime_float2=====16.3319ms
microtime_float3=====12.2800ms

在PHP5的环境下,直接使用microtime(true);显然是最快的。microtime_float2和microtime_float3都可以在不改变原有程序的情况下,直接修改函数内容来实现性能的轻微提升。microtime_float2可以做为兼容旧版本的写法。

PHP怎么获取时间戳的毫秒值

用Date的getTime方法来获取

public static void main(String[] args) {
    // TODO Auto-generated method stub
    Date dt= new Date();
    Long time= dt.getTime();//这就是距离1970年1月1日0点0分0秒的毫秒数
    System.out.println(System.currentTimeMillis());//与上面的相同
}

php里的时间戳是以秒为单位吗?

是的。 相关点:

  1. time()函数返回的是当前时间的Unix时间戳格式,即1970年1月1日0:00:00到当前的秒数。
  2. 如果你需要得到当前时间的微秒数 可以使用microtime(true)。 关于php:
  3. PHP,是英文超文本预处理语言Hypertext Preprocessor的缩写。
  4. PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛地运用。

PHP的特性:

  1. PHP独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法;
  2. PHP安装它可以比 CGI或者Perl更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比;
  3. PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成htmL标记的CGI要高许多;
  4. PHP具有非常强大的功能,所有的CGI的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。最重要的是PHP可以用C、C++进行程序的扩展。