在 php 中将 datepicker 字符串转换为简单的日期格式

Posted

技术标签:

【中文标题】在 php 中将 datepicker 字符串转换为简单的日期格式【英文标题】:Convert a datepicker string into simple date format in php 【发布时间】:2021-03-31 12:45:43 【问题描述】:

我的 vuexy 日期选择器返回以下字符串:

Tue Dec 01 2020 21:30:00 GMT+0600 (Bangladesh Standard Time)

在我的控制器 (Laravel) 中,我想将其转换为简单的日期格式 - yyyy-mm-dd

我已尝试使用 strtotime()date(),但没有任何效果。它可能需要使用DateTime::createFromFormat(),但我无法选择语法。

如何将其转换为yyyy-mm-dd

【问题讨论】:

【参考方案1】:

这对我有用:

$date = 'Tue Dec 01 2020 21:30:00 GMT+0600 (Bangladesh Standard Time)';
$date = preg_replace('/\(.*\)$/', '', $date); # Get rid of TZ from the date string
echo date('Y-m-d', strtotime($date));

这是另一个使用 DateTime 类的示例

$date = 'Tue Dec 01 2020 21:30:00 GMT+0600 (Bangladesh Standard Time)';
$date = preg_replace('/\(.*\)$/', '', $date);
$dt = new DateTime($date);
echo $dt->format('Y-m-d');

两个输出:

2020-12-01

【讨论】:

( 之前的日期长度可能始终相同,所以 substr($date, 0, 33); 也可以工作。 真@MarcelBurkhard。一如既往TMTOWTDI【参考方案2】:

嗨,朋友,您可以使用 Carbon 包装是最推荐的包装之一。请按照以下代码进行操作

use Carbon; //use at the begining of class/controller

$date = 'Tue Dec 01 2020 21:30:00 GMT+0600 (Bangladesh Standard Time)';

$formated_date = Carbon::parse($date)->format('Y-m-d');
//output will be 2020-12-01

【讨论】:

以上是关于在 php 中将 datepicker 字符串转换为简单的日期格式的主要内容,如果未能解决你的问题,请参考以下文章

PHP 将PHP date()样式dateFormat转换为等效的jQuery UI datepicker字符串

将PHP date()样式的dateFormat转换为等效的jQuery UI datepicker字符串

PHP 在PHP中将秒转换为时间字符串

如何在 PHP 中将数组元素转换为字符串?

如何在 PHP 中将字符串转换为 JSON 对象

在PHP中将标签转换为字符串[重复]