PHP 日期和时间


2021年12月17日, Learn eTutorial
1994

在本 PHP 教程中,您将学习 PHP 中使用的所有日期和时间函数。我们将详细讨论日期和时间函数及其用途和格式。

PHP 中 date() 函数的用途是什么?

PHP date() 函数是一个内置函数,用于处理日期数据类型。PHP date() 函数有助于将日期或时间转换为人类可读的格式。date() 函数的强制格式参数定义了如何格式化日期(或时间)。
以下是一些常用日期字符的示例

  •    d - 表示月份中的天数(01 到 31)
  •    m - 表示月份(01 到 12)
  •    Y - 表示年份(四位数字)
  •    l(小写字母 'L') - 表示星期几

其他字符,例如“/”、“.”或“-”可以放置在字符之间以提供格式化。
PHP 中的 date() 函数将只返回服务器的当前日期/时间。

语法

date (format, timestamp(optional));

示例

echo "Today is " . date("Y/m/d") . "\n";
echo "Today is " . date("Y.m.d") . "\n";
echo "Today is " . date("Y-m-d") . "\n";
echo "Today is " . date("l");

输出

Today is 2021/11/27
Today is 2021.11.27
Today is 2021-11-27
Today is Saturday

PHP 中的时间戳是什么?

date() 方法生成一个表示日期的格式化字符串。通过您必须提供给 date() 的字符串参数,您可以对它返回的格式进行大量控制。date() 函数接受一个时间戳作为可选参数;如果未指定,则使用当前日期和时间。提供给 date() 的格式字符串中的任何附加数据都将包含在返回值中。在 PHP 中,时间戳是一个数字,表示当前时间与 1970 年 1 月 1 日 00:00:00 格林威治标准时间 (GMT) 之间的秒数。time() 函数根据默认时区返回值。php.ini 文件指定了默认时区。date_default_timezone_set 方法也可以用于以编程方式设置它。

语法

time();

示例

echo time ();

输出

1637997813

提取当前可访问的时区标识符列表 

我们使用“DateTimeZone::listIdentifiers()”方法来提取可用的时区。
示例

 
$timezones = DateTimeZone::listIdentifiers();
foreach($timezones as $key => $zones){
    echo "$key $zones \n";
}

输出




PHP - Form

有 424 个时区可用,在上面的示例中,我们可以看到我们已经访问了时区并使用 foreach 循环打印了值。

如何在 PHP 中以编程方式设置时区?

为了设置我们当前的日期和时间,我们必须使用方法 date_default_timezone_set(),并在其参数中传递所需的时区。
示例

// to know the default timezone
echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s");
echo "\n";
// to set the timezone
date_default_timezone_set("Asia/Calcutta");
echo "The time in " . date_default_timezone_get() . " is " . date("h:i:s a");

输出

The time in UTC is 07:53:01
The time in Asia/Calcutta is 01:23:01 pm

以下是一些常用日期时间格式字符的示例

字符 描述

a

它用于以小写字母表示“am”或“pm”

A

它用于以大写字母表示“AM”或“PM”

d

它用于表示月份中的日期,带前导 0

D

它用于以三个字母表示星期几(Mon)

F

它用于表示月份

h

它用于以 12 小时格式表示时间,带前导 0

H

它用于以 24 小时格式表示时间,带前导 0

g

它用于以 12 小时格式表示时间,不带前导 0

G

它用于以 24 小时格式表示时间,不带前导 0

i

它用于表示分钟(0-59)

j

它用于表示月份中的日期,不带前导 0

l

它用于表示星期几

L

它用于表示闰年(如果为真则返回 1,如果为假则返回 0)

m

它用于以数字表示月份,带前导 0

M

它用于以三个字母表示月份(Feb)

n

它用于以数字表示月份,不带前导 0 

s

它用于表示小时的秒数

U

它用于表示时间戳

y

它用于以两位数字表示年份

Y

它用于以四位数字表示年份

z

它用于表示一年中的日期

Z

它用于表示与 GMT 的秒数偏移量

 

PHP 中最常用的日期和时间函数

  1.  date_add() 函数:PHP date_add() 函数用于根据给定日期和给定间隔返回日期。

    语法

    date_add(object, interval);
    
    

    示例

    $date=date_create("2021-11-27");
    date_add($date,date_interval_create_from_date_string("20 days"));
    echo date_format($date,"Y-m-d");
    
    

    输出

    2021-12-17
    
  2.  date_format() 函数:PHP date_format() 函数用于返回按给定格式格式化的日期。

    语法

    date_format(object, format);
    
    

    示例

    $date=date_create("2021-11-27");
    echo date_format($date,"Y/m/d");
    
    

    输出

    2021/11/27
    
  3.  checkdate() 函数:PHP checkdate() 函数用于返回输入的日期是否为有效日期。

    语法

    checkdate(month, day, year);
    
    

    示例

    var_dump(checkdate(11,27,2021));
    var_dump(checkdate(2,29,2021));
    
    

    输出

    bool(true)
    bool(false)
    
  4.  date_diff() 函数:PHP date_diff() 函数用于返回两个日期之间的差值。

    语法

    date_diff(datetime1, datetime2, absolute(optional));
    
    

    示例

    $date1=date_create("2021-01-26");
    $date2=date_create("2021-09-10");
    $diff=date_diff($date1,$date2);
    echo $diff->format("%R%a days");
    
    

    输出

    +227 days
    
  5.  mktime() 函数:PHP mktime() 函数用于返回某个日期的 Unix 时间戳。

    语法

    mktime(hour, minute, second, month, day, year, is_dst);
    
    

    示例

    echo date("M-d-Y h:m:s", mktime(10,11,35,11,27,2021));
    
    

    输出

    Nov-27-2021 10:11:35