📌  相关文章
📜  在 PHP 中将字符串转换为日期和日期时间(1)

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

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

在 PHP 中,将字符串转换为日期和日期时间是一个常见的需求。可以使用 strtotime() 函数和 DateTime 类来实现这个目标。

使用 strtotime() 函数将字符串转换为时间戳

strtotime() 函数可以将形如 "now"、"10 September 2000" 或 "+1 day" 的字符串转换成 Unix 时间戳。例如,要将 "2022-03-01" 转换为时间戳,可以这样写:

$timestamp = strtotime('2022-03-01');
echo $timestamp; // 输出:1646025600
使用 DateTime 类将字符串转换为日期时间

DateTime 类是一个强大的日期和时间处理工具,它允许实例化日期和时间对象,并在它们之间进行各种操作。要将字符串转换为日期,可以使用 createFromFormat() 方法。下面是一个示例:

$date_str = '2022-03-01';
$date = DateTime::createFromFormat('Y-m-d', $date_str);

上面的代码会将 $date_str 转换成一个 DateTime 对象。如果要转换成日期时间对象,可以使用类似的方法:

$datetime_str = '2022-03-01 14:30:00';
$datetime = DateTime::createFromFormat('Y-m-d H:i:s', $datetime_str);

这里的 'Y-m-d H:i:s' 参数指定了输入字符串的格式。

使用 DateTime 将时间戳转换为日期时间

如果有一个 Unix 时间戳,可以使用 DateTime 类创建一个日期时间对象:

$timestamp = 1646025600;
$datetime = new DateTime();
$datetime->setTimestamp($timestamp);

上面的代码会将 $timestamp 转换成一个 DateTime 对象。

结论

以 PHP 中将字符串转换为日期和日期时间为主题的介绍到此结束。掌握 strtotime() 函数和 DateTime 类的用法,可以方便地进行日期和时间处理。值得注意的是,在使用 DateTime 时,需要特别注意时区设置。