你如何用PHP解析这个日期

时间:2019-12-20 08:25:05

标签: php laravel php-carbon

我想问一下您如何将日期解析为:“ 12/24/1990”,使用Laravel中的Carbon或内置的php日期方法

$user->profile->birthdate

5 个答案:

答案 0 :(得分:3)

只需执行

#LabColor (lab_l:60.2728 lab_a:29.1236 lab_b:12.3039) 
#LabColor (lab_l:62.6060 lab_a:40.7402 lab_b:-27.0242)
My code: 20.742092752610183
Colormath code: 21.159017320676828

答案 1 :(得分:2)

您可以在Profile模型中这样使用date mutators(或@Jesper所说的date casting):

class Profile extends Model
{
    protected $dates = [
        'birthdate', // date fields that should be Carbon instance
    ];
}

因此,无论何时检索模型,Laravel都会自动将birthdate属性强制转换为Carbon实例,并且您可以使用format方法对其进行格式化,例如:

$user->profile->birthdate->format('m/d/y');

答案 2 :(得分:1)

两种解决方案均适用于Laravel 5. *和6。*

第一个解决方案

通过将以下内容放入birthdate模型中,可以将Profile变量始终转换为所需的格式。

/**
 * The attributes that should be cast to native types.
 *
 * @var array
 */
protected $casts = [
    'birthdate' => 'datetime:m/d/Y',
];

参考: https://laravel.com/docs/6.x/eloquent-mutators#date-casting

第二个解决方案:

您还可以将birthdate强制转换为Carbon模型中的Profile对象,然后可以使用以下代码根据需要对其进行格式化:

/**
 * The attributes that should be mutated to dates.
 *
 * @var array
 */
protected $dates = [
    'birthdate',
];

然后您始终可以执行以下操作以不同的方式对其进行格式化:

$user->profile->birthdate->format('m/d/Y')

参考:https://laravel.com/docs/6.x/eloquent-mutators#date-mutators

答案 3 :(得分:0)

使用laravel Carbon,您可以像下面一样解析日期

        $carbonToday = Carbon::now();
        $date = $carbonToday->format('m/d/Y');

使用PHP方法

       $carbonToday = Carbon::now();
       $date = date('m/d/Y',strtotime($carbonToday));

希望这会对您有所帮助。

答案 4 :(得分:-1)

使用Laravel碳法

$date = "12-24-1990";
$carbon_date = Carbon\Carbon::createFromFormat('m/d/Y', $date);

使用PHP方法

 $newdate = date('m/d/Y',strtotime($date));