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

PHP中如何使用date()函数来格式化日期?

发布时间:2023-06-26 10:25:13

PHP中的date()函数是一个非常常用的函数,它用于将一个时间戳格式化为一个易于阅读和使用的日期字符串。下面是使用date()函数的一些常见格式选项。

1.用于格式化日期的参数

- Y:四位数的年份(例如1999)

- y:两位数的年份(例如99)

- m:月份,以两位数表示(例如01月)

- n:月份,不含前导零(例如1月)

- d:日期,以两位数表示(例如01日)

- j:日期,不含前导零(例如1日)

例如,以下代码将当前日期格式化为“YYYY-mm-dd”(例如2021-08-10):

echo date("Y-m-d");

2.用于格式化时间的参数

- H:小时,以24小时制表示(例如23点)

- h:小时,以12小时制表示(例如11点)

- i:分钟(例如59分)

- s:秒钟(例如59秒)

- A:大写的上午/下午标识(例如AM或PM)

- a:小写的上午/下午标识(例如am或pm)

例如,以下代码将当前时间格式化为“H:i:s”(例如18:29:59):

echo date("H:i:s");

3.其它格式选项

- w:星期几(0表示星期日,1表示星期一,依此类推)

- W:ISO-8601标准表示的一年中的周数

- z:一年中的天数(从0开始计数)

- L:是否为闰年(1表示是,0表示否)

- t:指定月份的天数

- T:时区缩写(例如EST或PST)

- O:与格林威治时间相差的小时数(例如+0800)

以下代码将当前日期格式化为“星期X,Y-m-d”(例如“星期二,2021-08-10”):

echo date("星期w,Y-m-d");

4.结合时间戳使用date()函数

在实际开发中,我们通常不会手动输入日期和时间,而是使用时间戳来表示。时间戳是指从1970年1月1日0点0分0秒(格林威治时间)到某个时间点的秒数。

我们可以使用PHP的time()函数来获取当前时间的时间戳:

echo time();

时间戳可以在需要时被传递给date()函数,以便将其格式化为易于阅读和使用的日期字符串。

例如,以下代码将时间戳格式化为“Y/m/d H:i:s”(例如“2021/08/10 18:29:59”):

$timestamp = time();
echo date("Y/m/d H:i:s", $timestamp);

在此例中,将time()函数返回的当前时间戳传递给date()函数使用,通过format参数输出当前的年/月/日 时:分:秒。

5.可以用语言模块给打印的日期作国际化处理

PHP提供了gettext等国际化语言包组件,可以方便的将程序的输出转化为各国的语言格式。

例如,以下代码将时间戳格式化为“%A %e %B %Y”(例如“星期二 10 八月 2021”):

$timestamp = time();
setlocale(LC_ALL, 'zh_CN.utf8');
echo strftime("%A %e %B %Y", $timestamp);

其中setlocale()函数设置当前区域设置为简体中文,strftime()函数将时间戳转换为格式为“%A %e %B %Y”的日期字符串,其中%A代表星期几,%e代表月份中的几号,%B代表月份的全称,%Y代表年份的四位数表示。

总之,通过PHP的date()函数可以很方便地将时间戳格式化为易于阅读和使用的日期字符串。在不同的场景和需求中,根据自己的需要进行格式选项和时间戳的使用,可以满足不同的程序设计和需求。