格式化 DateTime 对象
本课属于 Coddy PHP 学习旅程的“逻辑与流程”单元。第 49 课,共 68 课。
现在你有了一个 DateTime 对象,需要将它转换为易读的字符串格式。format() 方法可以将 DateTime 对象转换为你需要显示的任何日期或时间格式。
format() 方法使用的格式字符与你在 date() 函数中学到的完全相同。这种一致性让你可以轻松地将已有知识应用于 DateTime 对象。你可以直接对 DateTime 对象调用此方法,并将格式字符串作为参数传入。
<?php
$now = new DateTime();
echo $now->format("Y-m-d"); // 输出:2024-03-15
echo $now->format("H:i:s"); // 输出:14:30:25
echo $now->format("l, F j, Y"); // 输出:Friday, March 15, 2024
?>使用 format() 的面向对象方法能让代码组织得更好,尤其是在你多次处理同一个日期时。你只需创建一次 DateTime 对象,就可以在代码中用不同方式对其进行格式化,而不必反复调用过程式函数。
挑战
简单你会收到两个输入:一个格式为 Y-m-d H:i:s 的日期字符串,以及一个格式字符串。第一个输入是具体的日期和时间(示例:2024-03-15 14:30:25),第二个输入是指定日期显示方式的格式字符串(示例:l, F j, Y)。
读取这两个输入,使用日期字符串创建一个 DateTime 对象,使用 format() 方法根据提供的格式字符串转换 DateTime 对象,然后输出格式化后的结果。
输入格式:
- 第一行:格式为
Y-m-d H:i:s的日期字符串(示例:2024-03-15 14:30:25) - 第二行:格式字符串(示例:
l, F j, Y、H:i:s或Y-m-d)
预期输出:根据提供的格式字符串格式化后的日期
亲手试试
<?php
// 读取日期字符串
$dateString = trim(fgets(STDIN));
// 读取格式字符串
$formatString = trim(fgets(STDIN));
// TODO: 在下方编写你的代码
// 创建一个 DateTime 对象,并按照格式字符串设置其格式
// 输出格式化后的日期
echo $formattedDate;
?>这节课包含一个小测验。开始学习即可作答,并记录你的进度。
逻辑与流程中的所有课
自己练习: PHP 在线编译器