📜  javascript 日期到 php 日期 site:stackoverflow.com - PHP (1)

📅  最后修改于: 2023-12-03 15:31:44.109000             🧑  作者: Mango

JavaScript 日期到 PHP 日期

在 Web 开发中,我们经常需要处理时间和日期相关的操作。JavaScript 和 PHP 是两个最常用的语言之一,两者的时间和日期处理方式有所差异。本文将介绍如何将 JavaScript 中的日期转换为 PHP 中的日期。

JavaScript 日期

在 JavaScript 中,我们可以使用 Date 对象来表示时间和日期。例如,以下代码将创建一个表示当前时间的 Date 对象:

const now = new Date();

Date 对象有许多方法可以获取日期和时间的不同部分。例如,以下代码将得到当前时间的小时数:

const hours = now.getHours();
PHP 日期

在 PHP 中,我们可以使用 DateTime 类来表示时间和日期。以下代码将创建一个表示当前时间的 DateTime 对象:

$now = new DateTime();

DateTime 类也有许多方法可以获取日期和时间的不同部分。例如,以下代码将得到当前日期的年份:

$year = $now->format('Y');
JavaScript 到 PHP 的转换

现在,我们来介绍如何将 JavaScript 中的日期转换为 PHP 中的日期。下面是一个示例代码:

const jsDate = new Date();
const phpDate = jsDate.toISOString().replace('T', ' ').replace(/\.\d{3}Z/, '');

上面的代码将创建一个 JavaScript 的日期对象,然后使用 toISOString() 方法将其转换为 ISO 8601 格式的字符串。最后,使用替换函数将字符串中的 T 删除,将毫秒部分删除,并将字符串赋值给 phpDate 变量。

在 PHP 中,我们可以使用 DateTime::createFromFormat() 方法将 ISO 8601 格式的字符串转换为 DateTime 对象。以下是示例代码:

$jsDate = '2022-03-10 12:34:56';
$phpDate = DateTime::createFromFormat('Y-m-d H:i:s', $jsDate);

上面的代码将创建一个 $jsDate 变量,并将其赋值为一个 ISO 8601 格式的字符串。然后,使用 DateTime::createFromFormat() 方法将其转换为 DateTime 对象,并将其赋值给 $phpDate 变量。注意,我们在第二个参数中指定了字符串的格式。

结论

本文介绍了如何将 JavaScript 中的日期转换为 PHP 中的日期。我们首先在 JavaScript 中创建了一个 Date 对象,并将其转换为 ISO 8601 格式的字符串。然后,在 PHP 中,我们使用 DateTime::createFromFormat() 方法将字符串转换为 DateTime 对象。

总的来说,时间和日期的处理在 Web 开发中经常用到,我们需要牢记每种语言的处理方式,确保正确的转换和计算。