5種方法:1、用“echo gmmktime();”語句,可輸出當前GMT時間;2、用“echo mktime();”語句;3、用“echo microtime();”語句,可輸出目前的UNIX時間戳記;4、用「echo time();」等。
本教學操作環境:windows7系統、PHP7.1版、DELL G3電腦
在日期和時間函數中,UNIX 時間戳的取得非常重要,時間戳記是一個字元序列,是指格林尼治時間1970年01 月01 日00 時00 分00 秒(北京時間1970 年01 月01 日08 時00 分00 秒)起至現在的總毫秒數。下面介紹幾個取得目前時間的函數。
gmmktime() 函數可取得 GMT 日期的 UNIX 時間戳記。語法如下:
gmmktime(hour,minute,second,month,day,year,is_dst);
此函數的參數可以從右到左依序空著,空著的參數會被設為對應的目前 GMT 值。
使用範例如下:
echo gmmktime(); //没有设置参数, 则默认取得当前GMT时间
執行上述程式的列印結果為:
mktime() 也可取得一個日期的UNIX 時間戳記。語法如下:
mktime(hour,minute,second,month,day,year,is_dst);
此函數根據給出的參數傳回 UNIX 時間戳記。時間戳記是一個長整數,包含了從 UNIX 紀元到給定時間的秒數。
和 gmmktime() 函數一樣,該函數的參數也可以從右向左省略,任何省略的參數會被設定成本地日期和時間的目前值。
使用範例如下:
echo mktime(); // 没有设置参数则默认取得当前GMT时间
執行上述程式的列印結果為:
microtime() 可取得目前UNIX 時間戳記和微秒數。語法如下:
microtime(get_as_float);
如果設定get_as_float 參數值為true,microtime() 將傳回浮點數;若不帶參數,則傳回一個「msec sec」格式的字串,其中sec 是自UNIX 紀元起到現在的秒數,msec 是微秒部分。字串的兩部分都是以秒為單位傳回的。
使用範例如下:
<?php echo microtime(); //返回 msec sec 格式字符串表示时间 echo "<br/>"; echo microtime(true); //返回一个浮点型字符串表示时间 ?>
執行上述程式的列印結果如下:
time() 函數可傳回目前的UNIX 時間戳記。語法如下:
time ()
time() 函數的語法比較簡單,使用範例如下:
<?php echo time(); ?>
执行以上程序的打印结果为:
getdate() 可取得日期时间信息。语法如下:
getdate(timestamp);
该函数返回一个根据 timestamp 得出的包含有日期信息的关联数组 array。如果没有给出时间戳,则认为是当前本地时间(此时和 time() 函数取值相同)。
其返回的关联数组中的键名单元如表所示。
键名 | 说明 | 返回值例子 |
---|---|---|
seconds | 秒的数字表示 | 0 到 59 |
minutes | 分钟的数字表示 | 0 到 59 |
hours | 小时的数字表示 | 0 到 23 |
mday | 月份中第几天的数字表示 | 1 到 31 |
wday | 星期中第几天的数字表示 | 0(周日)到6(周六) |
mon | 月份的数字表示 | 1 到 12 |
year | 4 位数字表示的完整年份 | 比如:1999 或 2019 |
yday | 一年中第几天的数字表示 | 0 到 365 |
weekday | 星期几的完整文本表示 | Monday 到 Sunday |
month | 月份的完整文本表示,,比如 January 或 April | January 到 December |
0 | 自从 UNIX 纪元开始至今的秒数,和 time() 的返回值以及用于 date() 的值类似 | 系统相关,典型值为 -2147483648 ~ 2147483647 |
getdate() 函数的使用示例如下:
<?php echo "<pre class="brush:php;toolbar:false">"; var_dump(getdate()); ?>
执行以上程序的打印结果如下:
推荐学习:《PHP视频教程》
以上是php怎麼查詢目前時間的詳細內容。更多資訊請關注PHP中文網其他相關文章!