⑴ 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