PHP函数:date()用于格式化日期和时间
PHP函数date()用于将时间和日期格式化为给定的格式字符串。使用这个函数,可以将日期和时间输出为可读性较好的格式。该函数有两个参数,其中 个参数是一个字符串,它指定了所需的日期和时间格式,而第二个参数是可选的,用于指定原始时间戳。如果没有指定第二个参数,那么将使用当前的系统日期和时间。
date()函数的 个参数,即日期和时间格式字符串,可以包含特殊字符,这些字符在输出日期和时间时会被替换成相应的日期和时间。以下是一些可用的特殊字符及它们在日期和时间中的含义:
字符 | 含义
------|-----
d | 月份中的天数,两位数字,前导零(例如,01到31)
D | 计量单位付款日,缩写形式(例如,Mon到Sun)
j | 月份中的天数,不带前导零(例如,1到31)
l | 完整的星期几名称(例如,Sunday到Saturday)
S | 月份中的序数后缀,2个字符(st,nd,rd或th),根据一位数值确定
w | 星期几的数字表示(例如,0到6)
z | 年份中的第几天(例如,1到365)
字符 | 含义
------|-----
F | 月份的完整名称(例如,January到December)
m | 数字表示的月份,前导零(例如,01到12)
M | 月份名称的缩写形式(例如,Jan到Dec)
n | 数字表示的月份,无前导零(例如,1到12)
t | 指定月份的天数(例如,28到31)
字符 | 含义
------|-----
Y | 4位数的年份(例如,1999)
y | 2位数的年份(例如,99)
a | 上午或下午(例如,am或pm)
A | 上午或下午的大写形式(例如,AM或PM)
g | 12小时制下的小时数,不带前导零(例如,1到12)
G | 24小时制下的小时数,不带前导零(例如,0到23)
h | 12小时制下的小时数,前导零(例如,01到12)
H | 24小时制下的小时数,前导零(例如,00到23)
字符 | 含义
------|-----
i | 分钟数,前导零(例如,00到59)
s | 秒数,前导零(例如,00到59)
u | 以微秒表示的时间(例如,654321)
e | 时区标识符(例如,UTC,GMT,CST等)
I | 是否为夏令时(DST)(如果是,返回1;否则返回0)
O | GMT偏移量(例如,+0200)
P | GMT偏移量的冒号分隔形式(例如,+02:00)
T | 本地时区的简称(例如,EST,MDT)
Z | 以秒为单位的偏移量(例如,-43200到43200)
例如,我们可以使用以下代码将日期和时间格式化为一种常见的格式:
echo date("Y-m-d H:i:s");
上述代码将在屏幕上输出当前的系统日期和时间,格式如下:
2022-05-10 16:36:22
我们也可以在格式字符串中添加其他字符,以显示其他格式,例如:
echo date("Y:m:d H:i:s");
上述代码将输出以下内容:
2022:05:10 16:36:22
date()函数还提供了一个可选的第二个参数,用于指定原始时间戳。如果没有给定这个时间戳参数,则函数使用当前系统时间。时间戳是一个整数值,表示从协调世界时(UTC)1970年1月1日0时0分0秒起经过的秒数。因此,PHP中的时间戳指的是一个自1970年1月1日0时0分0秒以来的秒数。例如,要将一个特定的时间戳(假定它等于1499864200)格式化为日期和时间,可以按照以下方式编写代码:
echo date("Y-m-d H:i:s", 1499864200);
上述代码将在屏幕上输出以下内容:
2017-07-13 15:10:00
在本例中,我们使用时间戳作为第二个参数,这使得函数根据给定的UNIX时间戳格式化给定时间。
