dongzong7467
2014-02-24 02:55
浏览 488
已采纳

将自定义日期格式字符串转换为yyyy / mm / dd

I have this date format that looks somewhat like this:

Sun Jun 29 2014 08:00:00 GMT+0800 (Malay Peninsula Standard Time)

This results from the x-editable datepicker when I try to output the value it gets from a validate function.

But, regardless of where I get the date format from, how do I convert this date to yyyy/mm/dd format? It’s not a date object but really just a long string that outputs the above. And I need to be able to convert it to 2014-06-29. Many thanks!

图片转代码服务由CSDN问答提供 功能建议

我的日期格式看起来有点像这样:

Sun Jun 29 2014 08:00:00 GMT + 0800(马来半岛标准时间)

此结果来自< strong> x-editable datepicker 当我尝试输出从验证函数获取的值时。

但是,无论我从何处获取日期格式,我该怎么做 将此日期转换为 yyyy / mm / dd 格式? 它不是一个日期对象,但实际上只是一个输出上述内容的长字符串。 我需要能够将其转换为 2014-06-29 。 非常感谢!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dongliu6848 2014-02-24 02:57
    已采纳

    You should use a regular expression to extract the relevant part of your string and then apply PHP date functions to it:

    $str = "Sun Jun 29 2014 08:00:00 GMT+0800 (Malay Peninsula Standard Time)";
    $pat = "/(?:Sun|Mon|Tue|Wed|Thu|Fri|Sat) (?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (?:0?[1-9]|[1-2][0-9]|3[0-1]) [0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2} GMT\\+[0-9]{4}/";
    $date = preg_match($pat, $str, $mat) ? date("Y-m-d", strtotime($mat[0])) : "";
    

    DEMO

    点赞 打赏 评论

相关推荐 更多相似问题