欢迎访问宙启技术站
智能推送

PHP函数:date()用于格式化日期和时间

发布时间:2023-06-12 17:46:30

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时间戳格式化给定时间。