格式化日期时间在Web开发中经常使用,无论是在存储日期时间数据还是在显示日期时间时,格式化准确地显示并按照要求输出日期时间可以提高代码的可读性和可维护性。在PHP中也有很多内置函数来格式化日期时间,下面我们就来介绍一下PHP中的日期时间格式化函数。
1.date函数
date函数是PHP中最常用的日期时间格式化函数,可以格式化日期、时间、日期时间等。date函数的基本语法如下:
date (string $format [, int $timestamp = time() ] ) : string
其中$format参数是格式字符串,规定了如何显示日期和时间,它由各种字符和格式化代码组成;$timestamp参数表示要格式化的时间戳,如果不指定,默认为当前时间。
例如,下面的代码将日期格式化为“年-月-日”的格式:
```
$today = date("Y-m-d");
echo "Today is " . $today . "
";
?>
```
输出:
```
Today is 2021-08-16
```
常用的格式化代码如下:
- Y:四位数的年份,例如:2021;
- y:两位数的年份,例如:21;
- m:月份,有前导零,例如:08;
- n:月份,没有前导零,例如:8;
- d:月份中的第几天,有前导零,例如:16;
- j:月份中的第几天,没有前导零,例如:16;
- H:小时,24小时制,有前导零,例如:09;
- h:小时,12小时制,有前导零,例如:09;
- i:分钟,有前导零,例如:03;
- s:秒数,有前导零,例如:07;
- a:小写的“am”或“pm”,例如:am;
- A:大写的“AM”或“PM”,例如:AM。
2.strtotime函数
strtotime函数是将日期字符串转化为时间戳的函数,它接收一个表示日期和时间的字符串,在执行过程中,会尝试将这个字符串解析成时间戳。其基本语法如下:
strtotime (string $time [, int $now = time() ] ) : int
其中$time参数表示要转化为时间戳的日期字符串;$now参数表示可选的基础时间点,如果不指定,默认为当前时间。
例如,下面的代码将一个日期字符串转化为时间戳:
```
$date_str = "2021-08-16";
echo strtotime($date_str);
?>
```
输出:
```
1629091200
```
可以看出,strtotime函数将日期字符串"2021-08-16"转化为时间戳1629091200,该时间戳表示从1970年1月1日0:00起,到2021年8月16日0:00这个时间点之间的秒数。
3.date_create和date_format函数
PHP 5.2.0及以上版本支持了面向对象的日期时间API,使用date_create函数可以创建一个DateTime对象,然后使用date_format函数来格式化输出。date_create函数的基本语法如下:
date_create (string $time = "now", DateTimeZone $timezone = null ) : DateTime|false
其中$time参数表示日期时间字符串,用来创建DateTime对象。默认取值为"now",表示创建一个当前时间的DateTime对象;$timezone参数可选,表示要使用的时区。
例如,下面的代码使用date_create来创建一个DateTime对象,并将其格式化输出:
```
$datetime_str = '2021-08-16 10:30:30';
$datetime = date_create($datetime_str);
echo date_format($datetime, 'Y-m-d H:i:s');
?>
```
输出:
```
2021-08-16 10:30:30
```
4.strftime函数
strftime函数可以按照指定的格式输出本地化的日期和时间。与date函数不同,strftime函数可以输出对应本地语言的星期几和月份名。其基本语法如下:
strftime (string $format [, int $timestamp = time() ] ) : string
其中$format参数是格式字符串,规定了如何显示日期和时间,它由各种字符和格式化代码组成;$timestamp参数表示要格式化的时间戳,如果不指定,默认为当前时间。
例如,下面的代码将日期格式化为“年-月-日”,并输出英文的星期几和月份名:
```
setlocale(LC_TIME, 'en_US.UTF-8');
$today = strftime("%Y-%m-%d %A %B");
echo "Today is " . $today . "
";
?>
```
输出:
```
Today is 2021-08-16 Monday August
```
需要注意的是,strftime函数的输出结果取决于操作系统的本地化配置,所以在使用时需要注意跨平台兼容性。
总结
日期时间格式化是Web开发中一个常见的需求,而PHP中提供了多种方式来对日期时间进行格式化,如内置函数date、strtotime、面向对象的API中的date_create和date_format,以及本地化的strftime函数。选择合适的方式对日期时间进行格式化可以提高代码的可读性和可维护性,同时还需要注意跨平台兼容性和时区等问题。
壹涵网络我们是一家专注于网站建设、企业营销、网站关键词排名、AI内容生成、新媒体营销和短视频营销等业务的公司。我们拥有一支优秀的团队,专门致力于为客户提供优质的服务。
我们致力于为客户提供一站式的互联网营销服务,帮助客户在激烈的市场竞争中获得更大的优势和发展机会!
发表评论 取消回复