【问题标题】:Convert a datepicker string into simple date format in php在 php 中将 datepicker 字符串转换为简单的日期格式
【发布时间】: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

【问题讨论】:

    标签: php laravel datetime vuejs2


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-27
      • 2013-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多