- PHP 教程
- PHP - 教程
- PHP - 简介
- PHP - 安装
- PHP - 历史
- PHP - 功能
- PHP - 语法
- PHP - Hello World
- PHP - 注释
- PHP - 变量
- PHP - echo 语句和 print 语句
- PHP - var_dump() 函数
- PHP - $ 和 $$ 变量
- PHP - 常量
- PHP - 魔术常量
- PHP – 数据类型
- PHP - 类型转换
- PHP - 类型戏法
- PHP - 字符串
- PHP - 布尔值
- PHP - 整数
- PHP - 文件和I/O
- PHP – 数学函数
- PHP - Heredoc & Nowdoc
- PHP - 复合类型
- PHP - 文件包含
- PHP - 日期和时间
- PHP - 标量类型声明
- PHP - 返回类型声明
- PHP 运算符
- PHP - 运算符类型
- PHP - 算术运算符示例
- PHP - 比较运算符示例
- PHP - 逻辑运算符示例
- PHP - 赋值运算符示例
- PHP – 字符串运算符
- PHP – 数组运算符
- PHP – 条件运算符示例
- PHP - Spread 运算符
- PHP - Null 合并运算符
- PHP - Spaceship 运算符
- PHP 控制语句
- PHP – 决策
- PHP - If…Else 语句
- PHP - Switch 语句
- PHP – 循环类型
- PHP - For 循环
- PHP - Foreach 循环
- PHP - While 循环
- PHP - do...While 循环
- PHP - Break 语句
- PHP - Continue 语句
- PHP 数组
PHP - 日期和时间
PHP 的内置库具有广泛的函数,有助于以编程方式处理和操作日期和时间信息。PHP 中的 Date 和 Time 对象可以通过传入日期 / 时间信息的字符串表示来创建,也可以从当前系统的时间创建。
PHP 提供了 DateTime 类,该类定义了许多方法。在本章中,我们将详细介绍 PHP 中可用的各种与日期和时间相关的方法。
PHP 中的日期/时间功能实现了 ISO 8601 日历,它实现了公历出现之前的当前闰日规则。日期和时间信息在内部存储为 64 位数字。
使用 time() 获取时间戳
PHP 的 time() 函数为您提供有关当前日期和时间的所有信息。它不需要任何参数,但返回一个整数。
time(): int
time() 返回的整数表示自 1970 年 1 月 1 日午夜 GMT 以来经过的秒数。此时刻称为 UNIX 纪元,此后经过的秒数称为时间戳。
<?php
print time();
?>
它将产生以下输出 -
我们可以将时间戳转换为人类熟悉的形式。
使用 getdate() 转换时间戳
函数 getdate() 可以选择接受时间戳并返回包含日期相关信息的关联数组。如果省略时间戳,它将与 time() 返回的当前时间戳一起使用。
下表列出了 getdate() 返回的数组中包含的元素。
Key | 描述 | 示例 |
---|---|---|
seconds |
分钟过后秒 (0-59) |
20 |
minutes |
小时过后分钟数 (0 - 59) |
29 |
hours |
一天中的时间 (0 - 23) |
22 |
mday |
每月的日期 (1 - 31) |
11 |
wday |
星期几 (0 - 6) |
4 |
mon |
一年中的月份 (1 - 12) |
7 |
year |
年份 (4 位数字) |
2024 |
yday |
一年中的某天 ( 0 - 365 ) |
19 |
weekday |
星期几 |
Thursday |
month |
一年中的月份 |
January |
0 |
时间戳 |
948370048 |
现在您可以完全控制日期和时间。您可以按所需的任何格式设置此日期和时间的格式。
例子看看下面的例子 -
<?php
$date_array = getdate();
foreach ( $date_array as $key => $val ){
print "$key = $val\n";
}
$formated_date = "Today's date: ";
$formated_date .= $date_array['mday'] . "-";
$formated_date .= $date_array['mon'] . "-";
$formated_date .= $date_array['year'];
print $formated_date;
?>
它将产生以下输出 -
minutes = 38
hours = 6
mday = 8
wday = 3
mon = 11
year = 2023
yday = 311
weekday = Wednesday
month = November
0 = 1699421880
Today's date: 8-11-2024
使用 date() 转换时间戳
date() 函数返回表示日期的格式化字符串。你可以对 date() 返回的格式进行大量的控制,你必须将 string 参数传递给它。
date(string $format, ?int $timestamp = null): string
date() 可以选择接受时间戳,如果省略,则将使用当前日期和时间。您包含在传递给 date() 的格式字符串中的任何其他数据都将包含在返回值中。
下表列出了格式字符串可以包含的代码 -
格式 | 描述 | 示例 |
---|---|---|
a |
'am' 或 'pm' 小写 |
pm |
A |
'AM' 或 'PM' 大写 |
PM |
d |
月份中的某天,带有前导零的数字 |
20 |
D |
星期几(三个字母) |
Thu |
F |
月份名称 |
January |
h |
小时(12 小时格式 - 前导零) |
12 |
H |
小时(24 小时格式 - 前导零) |
22 |
g |
小时(12 小时格式 - 无前导零) |
12 |
G |
小时(24 小时格式 - 无前导零) |
22 |
i |
分钟 ( 0 - 59 ) |
23 |
j |
月份中的日期(没有前导零) |
20 |
l (Lower 'L') |
星期几 |
Thursday |
L |
闰年('1' 表示是,'0' 表示否) |
1 |
m |
一年中的月份(数字 - 前导零) |
1 |
M |
一年中的月份(三个字母) |
Jan |
r |
RFC 2822 格式的日期 |
Thu, 21 Dec 2000 16:01:07 +0200 |
n |
一年中的月份(数字 - 无前导零) |
2 |
s |
小时秒数 |
20 |
U |
时间戳 |
948372444 |
y |
年份 (两位数) |
06 |
Y |
年份 (四位数字) |
2006 |
z |
一年中的某天 (0 - 365) |
206 |
Z |
与 GMT 的偏移量(以秒为单位) |
+5 |
例子
看看下面的例子 -
<?php
print date("m/d/y G.i:s \n", time()) . PHP_EOL;
print "Today is ";
print date("j of F Y, \a\\t g.i a", time());
?>
它将产生以下输出 -
Today is 8 2023f November 2023, at 11.23 am
希望您对如何根据您的要求格式化日期和时间有很好的了解。供您参考,PHP日期和时间函数中给出了所有日期和时间函数的完整列表。