gettimeofday

gettimeofday

gettimeofday是計算機函式,使用C語言編寫程式需要獲得當前精確時間(1970年1月1日到現在的時間),或者為執行計時,可以使用gettimeofday()函式。

基本介紹

  • 函式名:gettimeofday
  • 套用:C語言、PHP語言
  • 作用:獲得當前時間
  • 返回類型:int
C語言函式,PHP函式,

C語言函式

它的:
#include <sys/time.h>
int gettimeofday(struct timeval*tv, struct timezone *tz);
其參數tv是保存獲取時間結果的結構體,參數tz用於保存時區結果:
struct timezone{
int tz_minuteswest;/*格林威治時間往西方的時差*/
int tz_dsttime;/*DST 時間的修正方式*/
}
timezone 參數若不使用則傳入NULL即可。
而結構體timeval的定義為:
struct timeval{
long int tv_sec; // 秒數
long int tv_usec; // 微秒數
}
它獲得的時間精確到微秒(1e-6 s)量級。在一段代碼前後分別使用gettimeofday可以計算代碼執行時間:
struct timeval tv_begin, tv_end;
gettimeofday(&tv_begin, NULL);
foo();
gettimeofday(&tv_end, NULL);
函式執行成功後返回0,失敗後返回-1,錯誤代碼存於errno中。

PHP函式

(PHP 3 >= 3.0.7, PHP 4, PHP 5)
gettimeofday -- 取得當前時間(保存在結構體timeval中)
函式原型:int gettimeofday(struct timeval *tv, struct timezone *tz);
說明
mixed gettimeofday ( [bool return_float] )
本函式是 gettimeofday(2) 的接口。返回一個關聯數組,包含有系統調用返回的數據。
自 PHP 5.1.0 起有個可選參數 return_float,當其設為 TRUE 時,gettimeofday() 會返回一個浮點數。
數組中的鍵為:
"sec" - 自 Unix 紀元起的秒數
"usec" - 微秒數
"minuteswest" - 格林威治向西的分鐘數
"dsttime" - 夏令時修正的類型
例子 1. gettimeofday() example
<?php
print_r(gettimeofday());
echo gettimeofday(true);
?>
上例的輸出類似於:
Array
(
[sec] => 1073504408
[usec] => 238215
[minuteswest] => 0
[dsttime] => 1
)
1073504408. 238215

相關詞條

熱門詞條

聯絡我們