本文目錄一覽:
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++進行程序的擴展。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/282552.html