localtime() 函数返回一个数组,包含本地时间的各个组成部分。它接受一个时间戳作为参数,并返回一个结构化的时间数组,类似于C语言的tm结构。
localtime([int $timestamp = time()[, bool $is_associative = false]])
| 参数 | 描述 |
|---|---|
| timestamp |
可选。 指定要解析的时间戳。默认是当前时间 time()。 |
| is_associative |
可选。 如果设置为 true,函数返回一个关联数组,否则返回索引数组。 默认为 false,返回索引数组。 |
返回一个数组,包含本地时间的各个组成部分。如果 is_associative 为 false,返回索引数组;如果为 true,返回关联数组。
| 索引 | 键名(关联数组时) | 描述 |
|---|---|---|
| 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(十二月) |
| 5 | tm_year | 年份,从1900年开始的年数(如2023年返回123) |
| 6 | tm_wday | 星期几,0(星期日)到 6(星期六) |
| 7 | tm_yday | 一年中的第几天,0 到 365 |
| 8 | tm_isdst | 夏令时标志,正值表示夏令时,0表示非夏令时,负数表示未知 |
<?php
$local_time = localtime();
print_r($local_time);
// 输出类似:
// Array
// (
// [0] => 30 // 秒
// [1] => 15 // 分
// [2] => 14 // 时
// [3] => 25 // 日
// [4] => 7 // 月(0-11,7表示8月)
// [5] => 123 // 年(2023-1900=123)
// [6] => 5 // 星期几(5表示星期五)
// [7] => 236 // 一年中的第几天
// [8] => 0 // 夏令时标志
// )
?>
<?php
$local_time = localtime(time(), true);
print_r($local_time);
// 输出类似:
// Array
// (
// [tm_sec] => 30
// [tm_min] => 15
// [tm_hour] => 14
// [tm_mday] => 25
// [tm_mon] => 7
// [tm_year] => 123
// [tm_wday] => 5
// [tm_yday] => 236
// [tm_isdst] => 0
// )
?>
<?php
$timestamp = strtotime("2023-12-25 10:30:45");
$local_time = localtime($timestamp, true);
echo "圣诞节的时间信息:<br>";
echo "时:" . $local_time['tm_hour'] . "<br>";
echo "分:" . $local_time['tm_min'] . "<br>";
echo "秒:" . $local_time['tm_sec'] . "<br>";
echo "日:" . $local_time['tm_mday'] . "<br>";
echo "月:" . ($local_time['tm_mon'] + 1) . "<br>";
echo "年:" . ($local_time['tm_year'] + 1900) . "<br>";
echo "星期:" . $local_time['tm_wday'] . "<br>";
// 输出:
// 圣诞节的时间信息:
// 时:10
// 分:30
// 秒:45
// 日:25
// 月:12
// 年:2023
// 星期:1
?>
<?php
$local_time = localtime(time(), true);
if ($local_time['tm_isdst'] > 0) {
echo "当前是夏令时";
} elseif ($local_time['tm_isdst'] == 0) {
echo "当前不是夏令时";
} else {
echo "夏令时信息未知";
}
?>
<?php
$local_time = localtime();
$weekdays = ["日", "一", "二", "三", "四", "五", "六"];
$weekday_index = $local_time[6]; // tm_wday
echo "今天是星期" . $weekdays[$weekday_index];
// 输出:今天是星期X
?>
<?php
// 设置时区为纽约
date_default_timezone_set('America/New_York');
$ny_time = localtime(time(), true);
// 设置时区为东京
date_default_timezone_set('Asia/Tokyo');
$tokyo_time = localtime(time(), true);
echo "纽约时间:" . $ny_time['tm_hour'] . ":" . $ny_time['tm_min'] . "<br>";
echo "东京时间:" . $tokyo_time['tm_hour'] . ":" . $tokyo_time['tm_min'];
?>
localtime() 返回的时间基于服务器的时区设置getdate() 函数类似,但返回格式不同