本文目录一览:
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;$i10000;$i++){
microtime_float();
}
echo
"microtime_float=====";
echo
runtime($t1).'br';
$t1
=
microtime(true);
for($i=0;$i10000;$i++){
microtime(true);
}
echo
"microtime_true=====";
echo
runtime($t1).'br';
$t1
=
microtime(true);
for($i=0;$i10000;$i++){
microtime_float2();
}
echo
"microtime_float2=====";
echo
runtime($t1).'br';
$t1
=
microtime(true);
for($i=0;$i10000;$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:
1、PHP,是英文超文本预处理语言Hypertext Preprocessor的缩写。
2、PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛地运用。
PHP的特性:
1、PHP独特的语法混合了 C、Java、Perl 以及 PHP [8]自创新的语法;
2、PHP安装它可以比 CGI或者Perl更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比;
3、PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成htmL标记的CGI要高许多;
4、PHP具有非常强大的功能,所有的CGI的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。最重要的是PHP可以用C、C++进行程序的扩展。