PHP Date() 和时间函数:如何获取当前时间戳?

PHP date() 函数

PHP 日期函数是一个内置函数,可简化日期数据类型的处理。PHP 日期函数用于将日期或时间格式化为人类可读的格式。它可用于显示文章的发布日期。在数据库中记录最后更新的数据。

PHP 日期语法和示例

PHP 日期基本语法如下

<?php
date(format,[timestamp]);
?>

这里,

  • “date(…)” 函数返回当前时间戳 PHP 在服务器上。
  • “format” 是我们希望输出的一般格式,即;
    • “Ymd” 表示 PHP 日期格式 YYYY-MM-DD
    • “Y”显示当前年份
    • “[timestamp]” 是可选的。如果没有提供时间戳,PHP 将获取服务器上的当前 PHP 日期时间。

让我们看一个显示当前年份的基本示例。

<?php

echo date("Y");

?>

输出:

2018

什么是时间戳?

PHP 中的时间戳是当前时间和 1 点之间的秒数数值st 1970 年 00 月 00:00:XNUMX 格林威治标准时间 (GMT)。

时间函数返回的值取决于默认时区。

默认时区在 php.ini 文件中设置。

它也可以使用 date_default_timezone_set 函数以编程方式设置。

下面的代码显示当前时间戳

<?php

echo time();

?>

假设你将文件 timestamp.php 保存在 phptuts 文件夹中,浏览到 URL http://localhost/phptuts/timestamp.php

时间戳

注意:PHP 时间戳的值不是常量。它每秒都会变化。

获取可用时区标识符列表

在我们了解如何以编程方式设置默认时区之前,让我们先看看如何获​​取支持的时区列表。

<?php

$timezone_identifiers = DateTimeZone::listIdentifiers();

foreach($timezone_identifiers as $key => $list){

echo $list . "<br/>";

}
?>

这里,

  • “$timezone_identifiers = DateTimeZone::listIdentifiers();” 调用内置类 DateandTime Zone 的 listIdentifiers 静态方法。listIdentifiers 方法返回分配给变量 $timezone_identifiers 的常量列表。
  • “foreach{…}” 遍历数字数组并打印值。

假设你将文件 list_time_zones.php 保存在 phptuts 文件夹中,浏览到 URL http://localhost/phptuts/list_time_zones.php

时区标识符

PHP 以编程方式设置时区

date_default_timezone_set 函数允许您从 PHP 脚本设置默认时区。

设置的时区将用于以下日期的所有日期: PHP 函数脚本。其语法如下。

<?php
date_default_timezone_set (string $timezone_identifier);
?>

这里,

  • “date_default_timezone_set()” 是设置默认时区的函数
  • “string $timezone_identifier” 是时区标识符

下面的脚本根据 php.ini 中设置的默认时区显示时间。

然后它将默认时区更改为亚洲/加尔各答并再次显示时间。

<?php
echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s");

date_default_timezone_set("Asia/Calcutta");
echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s");
?>

假设您已将文件 set_time_zone.php 保存在 phptuts 文件夹中,请浏览到 URL http://localhost/phptuts/set_time_zone.php

PHP 以编程方式设置时区

PHP Mktime 函数

mktime 函数返回 Unix的 格式。

它具有以下语法。

<?php
mktime(hour, minute, second, month, day, year, is_dst);
?>

这里,

  • “mktime(…)” 是制作 PHP 时间戳的函数
  • “hour” 是可选的,它是小时数
  • “minute” 是可选的,它是分钟数
  • “second” 是可选的,它是秒数
  • “month” 是可选的,它是月份的数字
  • “day” 是可选的,它是天数
  • “year” 是可选的,它是年份
  • “is_dst” 是可选的,用于确定夏令时 (DST)。1 表示 DST,0 表示不是 DST,-1 表示未知。

现在让我们看一个使用 mktime 函数为日期 13/10/2025 创建时间戳的示例。

<?php

echo mktime(0,0,0,10,13,2025);

?>

这里,

  • “0,0,0”分别表示小时、分钟和秒。
  • “13” 是月份中的日期
  • “10” 是月份
  • “2025”是

输出:

1760328000

PHP 日期函数参考

下表显示了使用 PHP 日期函数时使用的常用参数。

PHP 时间参数

产品型号 描述 例如:
“ R” 返回完整的日期和时间
<?php
echo date("r");
?>
“一个”,“一个” 返回当前时间是上午还是下午,AM 还是 PM
<?php
echo date("a");
echo date("A");
?>
“g”,“G” 分别返回不带前导零的小时数 [1 到 12]、[0 到 23]
<?php
echo date("g"); 
echo date("G");
?>
“h”,“H” 返回带有前导零的小时数 [01 至 12],[00 至 23]
<?php
echo date("h"); 
echo date("H");
?>
“是” 返回带前导零的分钟/秒[00 至 59]
<?php
echo date("i"); 
echo date("s");
?>

日参数

产品型号 描述 例如:
“ d” 返回带前导零的月份日期 [01 到 31]
<?php
echo date("d");
?>
“j” 返回不带前导零的月份日期 [1 到 31]
<?php
echo date("j");
?>
“d” 返回星期名称的前 3 个字母 [Sub 至 Sat]
<?php
echo date("D");
?>
“ L” 返回星期几的名称 [星期日至星期六]
<?php
echo date("l");
?>
“w” 返回星期几,不带前导零 [0 到 6],星期日用零 (0) 表示,星期六用六 (6) 表示
<?php
echo date("w");
?>
“和” 返回一年中的第几天,不带前导空格 [0 至 365]
<?php
echo date("z");
?>

月份参数

产品型号 描述 例如:
“m”个 返回带前导零的月份数字 [01 至 12]
<?php
echo date("m");
?>
“ n” 返回不带前导零的月份数字 [01 至 12]
<?php
echo date("n");
?>
“ M” 返回月份名称的前 3 个字母 [Jan 至 Dec]
<?php
echo date("M");
?>
“F” 返回月份名称 [January 至 December]
<?php
echo date("F");
?>
“ t” 返回一个月的天数 [28 至 31]
<?php
echo date("t");
?>

年份参数

产品型号 描述 例如:
“L” 如果是闰年则返回 1,如果不是闰年则返回 0
<?php
echo date("L");
?>
“ Y” 返回四位数字年份格式
<?php
echo date("Y");
?>
“ Y” 返回两 (2) 位数字的年份格式(00 至 99)
<?php
echo date("y");
?>

总结

  • PHP 中的 date 函数用于将时间戳格式化为人类所需的格式。
  • 时间戳是当前时间和 1st 1970 年 00 月 00:00:XNUMX GMT。它也被称为 UNIX 时间戳。
  • 所有 PHP date() 函数均使用 php.ini 文件中设置的默认时区
  • 还可以使用 PHP 脚本以编程方式设置默认时区。