Laravel碳解析日期

问题描述 投票:1回答:2

我有一个用户日期的json。日期可以是格式:

"bdate": "25.10",
"bdate": "8.7.1990"
"bdate": "13.10.1984"
"bdate": "7.3"

我如何在全球范围内解析碳的这些日期?

我用的时候:

Carbon::parse($people->bdate)

我收到错误:

DateTime::__construct(): Failed to parse time string (25.10) at position 0 (2): Unexpected character

php laravel
2个回答
1
投票

可能有一个更简单的解决方案,经过测试并且可行

    $date = [null, null, null];
    $data = explode('.', "25.10");

    foreach ($data as $key => $da) {
        $date[$key] = $da;
    }

    $date = Carbon::createFromDate($date[2], $date[1], $date[0]);

1
投票

这可能是您的问题的另一种解决方法。

function getBirthDateInCarbon($date){

    $count = substr_count($date,'.');
    if($count==1){
        return \Carbon\Carbon::createFromFormat('d.m', $date);//default year will be current year
    }
    return \Carbon\Carbon::createFromFormat('d.m.Y', $date);
}
© www.soinside.com 2019 - 2024. All rights reserved.