⑴ php里的时间戳是以秒为单位吗
是的。
⑵ 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时间戳换算
PHP时间戳不是那样
而是
$date = mktime ( [int hour [, int minute [, int second [, int month [, int day [, int year [, int is_dst]]]]]]] )
当前时间用:time();
$date-time()>30 这样判断就行
⑷ php 怎么计算当前小时还剩余多少分钟
将需要计算的两个时间转换成时间戳
,php的时间戳就是以秒为单位计算的,两个时间戳相减的结果就是相差的秒数咯
⑸ php怎么将指定期时间转为时间戳(时间戳精确到毫秒)
php并没有直接支持毫秒的日期时间函数,所以要想得到毫秒级的时间戳,就要把秒级的时间戳*1000。
需要注意的是,由于毫秒级的时间戳已经远远超过整数的大小范围,所以要用浮点数(且精度不能低于13位)来储存。
另外,要想把毫秒级的时间戳转为时间,务必先/1000再转换,否则错误,因为php并不认识所谓的毫秒级时间戳!
不过,虽然无法获得指定时间的毫秒级时间戳,但要想获得当前时间的毫秒数,却是有办法的:
echo microtime(true)*1000;
⑹ 有谁知道php中怎么样将“时间戳”改为“秒”的方法,谢谢了!
$time=time();//获取一个时间戳
$s=date('s',$time)+date('m',$time)*60+date('h',$time)*60*60………………
echo $s;
⑺ php使用time和date获取时间不一致
需要先分清楚时间戳和时间的概念。
php需要的时间戳单位是秒。
⑻ PHP怎么获得一天,一周,一个月的起始和结束的时间戳求高人指点
PHP获取开始和结束时间
//当前时间
$start
=
strtotime(date('Y-m-d
H:i:s'));
//时长,时间长度(秒为单位,例子中为120秒,2分钟后,实际时间可自行修改或程序计算得出)
//如果是1周后,则为$start
+
(7
*
24
*
60
*
60);
$long
=
$start
+
120
//结束时间
$end
=
date('Y-m-d
H:i:s',
$long);
php可以用函数time()来获取Unix
时间戳,但是只能获取当前的,不能填入参数计算
⑼ php中timestamp 的意思
PHP中的 timestamp 是时间戳的意思
PHP中的 strtotime() 函数可以把时间解析为时间戳
strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳。
strtotime(time,now)
参数说明
time 规定要解析的时间字符串。
now 用来计算返回值的时间戳。如果省略该参数,则使用当前时间。
详细说明
该函数预期接受一个包含美国英语日期格式的字符串并尝试将其解析为 Unix 时间戳(自 January 1 1970 00:00:00 GMT 起的秒数),其值相对于 now 参数给出的时间,如果没有提供此参数,则用系统当前时间。
该函数将使用 TZ 环境变量(如果有的话)来计算时间戳。自 PHP 5.1.0 起有更容易的方法来定义时区用于所有的日期/时间函数。此过程在 date_default_timezone_get() 函数页面中有说明。
返回值
成功则返回时间戳,否则返回 FALSE。在 PHP 5.1.0 之前本函数在失败时返回 -1。
例如:
<?php
echo(strtotime("now"));
echo(strtotime("3 October 2005"));
echo(strtotime("+5 hours"));
echo(strtotime("+1 week"));
echo(strtotime("+1 week 3 days 7 hours 5 seconds"));
echo(strtotime("next Monday"));
echo(strtotime("last Sunday"));
?>
输出:
1138614504
1128290400
1138632504
1139219304
1139503709
1139180400
1138489200