函數用途
localtime() 回傳當前或指定 Unix 時間戳的本地時間成分陣列。類似 C 語言 localtime(),提供索引陣列或關聯陣列兩種模式。
語法與參數
localtime(int $timestamp = time(), bool $associative = false): array
| 參數 | 說明 |
$timestamp | 選填,Unix 時間戳;預設為當前時間 time() |
$associative | 選填,true 回傳關聯陣列,false(預設)回傳索引陣列 |
回傳值說明
| 索引 | 關聯鍵 | 含義 |
| 0 | tm_sec | 秒 (0-59) |
| 1 | tm_min | 分 (0-59) |
| 2 | tm_hour | 時 (0-23) |
| 3 | tm_mday | 月份中的第幾天 (1-31) |
| 4 | tm_mon | 月份 (0-11,0=1月) |
| 5 | tm_year | 年份(自1900年起算) |
| 6 | tm_wday | 星期幾 (0-6,0=星期日) |
| 7 | tm_yday | 年間第幾天 (0-365) |
| 8 | tm_isdst | 是否為夏令時間 (1=是, 0=否, -1=未知) |
實戰範例
索引陣列模式
<?php
print_r(localtime());
/*
Array
(
[0] => 28
[1] => 35
[2] => 13
[3] => 25
[4] => 0
[5] => 106
[6] => 3
[7] => 24
[8] => 0
)
*/
?>
關聯陣列模式
<?php
print_r(localtime(time(), true));
/*
Array
(
[tm_sec] => 28
[tm_min] => 35
[tm_hour] => 13
[tm_mday] => 25
[tm_mon] => 0
[tm_year] => 106
[tm_wday] => 3
[tm_yday] => 24
[tm_isdst] => 0
)
*/
?>
注意事項
- 月份
tm_mon 為 0-11(0 代表 1 月),年份 tm_year 為距 1900 年的差值。
- 依伺服器時區設定回傳本地時間,非 UTC。
- 新專案建議使用
DateTime + DateTimeZone 取得更清晰的時區控制。