在 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字符串