在PHP 中更改日期格式

PHP 中,您可以使用 date() 函数或 DateTime 类更改日期格式。date() 函数允许您以各种方式格式化时间戳或当前日期。DateTime 类提供了更高级的功能来处理日期和时间。

更改 php 中的日期格式

以下是这两种方法的示例:

.使用 date() 函数:

$timestamp = time(); // Current timestamp

// Convert timestamp to desired date format

$formatted_date = date("Y-m-d H:i:s", $timestamp); // Example format: 2023-08-08 15:30:00

echo $formatted_date;
1)使用DateTime类:
$timestamp = time(); // Current timestamp


// Create a DateTime object from timestamp
$date = new DateTime();

$date->setTimestamp($timestamp);

// Format the date using DateTime format method
$formatted_date = $date->format("Y-m-d H:i:s"); // Example format: 2023-08-08 15:30:00
echo $formatted_date;

以下是您可以在格式字符串中使用的一些常见格式字符:

Y - 4 位数字的年份(例如 2023)

m - 带前导零的月份(01 到 12)

d - 带前导零的月份中的某天(01 到 31)

H - 24 小时格式的小时,带前导零(00 到 23)

i - 带有前导零的分钟(00 到 59)

s - 带有前导零的秒(00 到 59)

您可以组合这些字符来创建所需的日期格式。

例如,如果您希望日期采用更易读的格式,例如“2023 年 8 月 8 日下午 3:30”,则可以使用以下格式字符串:

$formatted_date = date("F j, Y, g:i A", $timestamp); // Example format: August 8, 2023, 3:30 PM

请记住,可用的格式字符可能会有所不同,具体取决于您使用的 PHP 版本。

将 YYYY-MM-DD 更改为 DD-MM-YYYY
想象一下,您以 MM-DD-YYYY 格式保留日期 2023-08-08,并打算将其更改为 DD-MM-YYYY 格式的 08-08-2023。

这是一个例子:

<?php
$orgDate = "2023-08-08";$newDate = date("d-m-Y", strtotime($orgDate));echo "New date format is: " . $newDate . " (MM-DD-YYYY)";
?>

将 YYYY-MM-DD 更改为 MM-DD-YYYY
现在,想象一下 YYYY-MM-DD 格式的日期 2023-08-08。让我们将其转换为 08-08-2023 (MM-DD-YYYY),如下所示:

<?php

$orgDate = "2023-08-08";

$newDate = date("m-d-Y", strtotime($orgDate));

echo "New date format is: " . $newDate . " (MM-DD-YYYY)";

?>

将 DD-MM-YYYY 更改为 YYYY-MM-DD
在本部分中,考虑采用 DD-MM-YYYY 格式的日期 08-08-2023。下面,您可以看到如何将其转换为 2023-08-08 (YYYY-MM-DD) 格式:

<?php

$orgDate = "08-08-2023";$newDate = date("Y-m-d", strtotime($orgDate));echo "New date format is: " . $newDate . " (YYYY-MM-DD)";

?>

 

将 DD-MM-YYYY 更改为 YYYY/MM/DD
现在,假设日期为 DD-MM-YYYY 格式,为 08-08-2023。它由破折号(-)分隔。我们尝试将其转换为 2023/08/08 (YYYY/MM/DD) 格式,用斜杠 (/) 分隔。

以下是如何做到这一点:

<?php

$orgDate = "08-08-2023";

$date = str_replace('-"', '/', $orgDate);

$newDate = date("Y/m/d", strtotime($date));

echo "New date format is: " . $newDate . " (YYYY/MM/DD)";

?>

将日期时间更改为不同的格式
在本节中,您将了解如何将日期格式 MM-DD-YYYY 转换为 YYYY-DD-MM,以及如何将 12 小时制时钟转换为 24 小时制。

这是一个例子:

<?php

$date = "08/08/2023 5:36 PM";

//converts date and time to seconds

$sec = strtotime($date);

//converts seconds into a specific format

$newdate = date("Y/d/m H:i", $sec);

//Appends seconds with the time

$newdate = $newdate . ":00";

// display converted date and time

echo "New date time format is: " . $newDate;

?>

 

PHP 将字符串转换为日期时间

本文将教您如何使用各种 PHP 方法和技术将简单字符串转换为日期格式。

基础

要将字符串转换为日期,我们将使用两个函数:strtotime() 和 date() 函数。我们还可以使用 DateTime::createFromFormat 方法。

我们将从 strtotime() 和 date() 函数的组合开始。

PHP strtotime() 函数
PHPstrtotime()方法允许您将人类可读的时间格式转换为 Unix 时间。
Unix 时间是指自 1970 年 1 月 1 日 00:00:00 以来经过的秒数。

该函数采用如下所示的语法:

strtotime(string $datetime)

 

该函数将时间戳作为参数,如果转换成功,则以整数形式返回日期。该函数还在失败时返回布尔值 false。
注意:该函数将以不同的方式解释各种格式。例如,如果将分隔符用作斜杠,则该方法将假定美国日期和时间格式为 M/D/Y。但是,如果分隔符为 (-),则使用欧洲格式 (DMY)。

为了安全起见,请使用 ISO 8601 (YYYY-MM-DD) 格式。

查看以下示例,了解如何使用 strtotime() 函数。

<?php

echo strtotime("now"), "\n"; // <-- convert time now to unix

echo strtotime("next Friday"), "\n";

echo strtotime("+7 weeks"), "\n";

echo strtotime("2023-08-08"), "\n";

echo strtotime("+10 hours"), "\n";

?>

 

上面的示例将各种字符串转换为其相关的 Unix 时间戳。

PHP Date() 函数

我们将看到的以下函数是 Date() 函数。此函数采用 Unix 时间戳并将其转换为本地日期和时间格式。该函数的语法可以表示为:

date(format, timestamp);
它接受日期和时间格式以及时间戳。格式化后,该函数将返回相应格式化的日期和时间。
例如,让我们将特定时间戳转换为日期和时间。

<?php

echo date("d/M/Y H:i:s", 1638092852), "\n";

?>

 

在上面的示例中,我们使用日期格式将特定的 Unix 时间戳转换为日期/月/年时:分秒格式。

运行上面的代码,您应该得到如下所示的输出:

$ php date_format.php

28/Nov/2021 11:47:32

组合 Strtotime() 和 Date()
要将特定字符串转换为日期和时间格式,我们可以将 strtotime() 函数和日期结合起来,正如我们已经看到的那样。
考虑如下所示的示例:

<?php

$timestamp = strtotime("+10 hours");

echo date("d/M/Y H:i:s", $timestamp), "\n";

?>

下面的示例使用 strtotime() 函数将特定字符串转换为 Unix 时间戳。

然后我们使用日期函数将时间戳转换为特定的日期和时间格式。

使用 DateTime::createFromFormat()

我们可以用来从字符串创建 DateTime 的另一种方法是 DateTime::createFromFormat()。这是 PHP 5.2 及更高版本中提供的内置 PHP 函数。它返回一个 DateTime 对象,以指定的格式表示日期和时间。

下面的示例展示了如何使用它。

<?php

$datenew = DateTime::createFromFormat("Y-m-d", "2023-08-08");

echo $datenew->format("Y-m-d"), "\n";

?>

上面的代码应该返回日期。

THE END
分享
二维码
海报
在PHP 中更改日期格式
在 PHP 中,您可以使用 date() 函数或 DateTime 类更改日期格式。date() 函数允许您以各种方式格式化时间戳或当前日期。DateTime 类提供了更高级的功能来处理日期和时间。
<<上一篇
下一篇>>