PHP getdate()函数的用法(附带实例)
getdate() 函数用于获取当前的日期和时间,该函数的语法如下:
getdate() 函数返回数组中的键名关键值,如下表所示:
【实例】使用 getdate() 函数,并返回具体值。
原因是假如用户不在程序或配置文件中设置用户的服务器当地时区,PHP 采用格林尼治标准时(GMT),而格林尼治标准时和北京时间大概相差 8 小时。
那么应如何避免时间误差呢?在页头使用 date_default_timezone_set() 函数设置默认采用北京时间(中国采用国际时区东八时区的区时作为标准时间),那么在浏览器上显示的时间就和服务器显示的当前时间一样了。
date_default_timezone_set() 函数的用法如下:
Array getdate([int $timestamp])“$timestamp”是一个可选参数,如果不指定该参数,则使用系统当前的本地时间。该函数结合数组的方式返回日期和时间,数组中的每个元素代表日期和时间中的一个特定组成部分,向函数提交可选的时间戳自变量,以获取与时间戳对应的日期和时间值。
getdate() 函数返回数组中的键名关键值,如下表所示:
| 键名称 | 说明 |
|---|---|
| seconds | 秒的数字表示,取值范围是 0~59 |
| minutes | 分钟的数字表示,取值范围是 0~59 |
| hours | 小时的数字表示,取值范围是 0~23 |
| mday | 月份中第几天的数字表示,取值范围是 1~31 |
| wday | 星期中第几天的数字表示,取值范围是 0~6 |
| mon | 月份的数字表示,取值范围是 1~12 |
| year | 使用 4 位数字表示的完整年份,如 2023 |
| yday | 一年中第几天的数字表示,取值范围是 1~365 |
| weekday | 星期中某一天的完整文本表示,如 Sunday |
| month | 月份的完整文本表示,如 January |
| 0 | 从 UNIX 纪元开始至今的秒数 |
【实例】使用 getdate() 函数,并返回具体值。
<?php
header("content-type:text/html;charset=utf-8");
date_default_timezone_set('Asia/Shanghai');
$a=getdate();
print_r($a);
echo "<br>";
echo "当前小时:";
echo $a["hours"]."<br>";
echo "当前分钟:";
echo $a["minutes"]."<br>";
echo "当前秒:";
echo $a["seconds"]."<br>";
echo "当前年:";
echo $a["year"]."<br>";
echo "当前月:";
echo $a["mon"]."<br>";
echo "当前日:";
echo $a["mday"]."<br>";
echo "当前星期几用数字表示:";
echo $a["wday"]."<br>";
echo "当前一年中第几天:";
echo $a["yday"]."<br>";
echo "当前星期几用英文表示:";
echo $a["weekday"]."<br>";
echo "当前月用英文表示:";
echo $a["month"]."<br>";
echo "从UNIX纪元开始至今的秒数:";
echo $a[0]."<br>";
?>
运行结果为:
Array
(
[seconds] => 51
[minutes] => 16
[hours] => 12
[mday] => 16
[wday] => 1
[mon] => 6
[year] => 2025
[yday] => 166
[weekday] => Monday
[month] => June
[0] => 1750047411
)
当前小时:12
当前分钟:16
当前秒:51
当前年:2025
当前月:6
当前日:16
当前星期几用数字表示:1
当前一年中第几天:166
当前星期几用英文表示:Monday
当前月用英文表示:June
从UNIX纪元开始至今的秒数:1750047411
如果不加上代码“date_default_timezone_set('Asia/Shanghai')”,那么输出的当前时间会为 4,而系统显示的当前时间是 12,相差了8小时,这是为什么呢?原因是假如用户不在程序或配置文件中设置用户的服务器当地时区,PHP 采用格林尼治标准时(GMT),而格林尼治标准时和北京时间大概相差 8 小时。
那么应如何避免时间误差呢?在页头使用 date_default_timezone_set() 函数设置默认采用北京时间(中国采用国际时区东八时区的区时作为标准时间),那么在浏览器上显示的时间就和服务器显示的当前时间一样了。
date_default_timezone_set() 函数的用法如下:
bool date_default_timezone_set (string timezone_identifier )date_default_timezone_set() 函数用于设定一个脚本中所有日期时间函数的默认时区。注意,自 PHP 5.1.0 起(此版本日期时间函数已被重写),如果时区不合法,则每个对日期时间函数的调用都会产生一条“E_NOTICE”级别的错误信息。参数“timezone_identifier”表示时区标识符,例如 UTC 或 Europe/Lisbon 返回值,本函数永远返回 TRUE(即使“timezone_identifier”不合法)。
ICP备案:
公安联网备案: