问题
I'm starting to read about Carbon
and can't seem to figure out how to create a carbon date
.
In the docs is says you can;
Carbon::createFromDate($year, $month, $day, $tz); Carbon::createFromTime($hour, $minute, $second, $tz); Carbon::create($year, $month, $day, $hour, $minute, $second, $tz);
But what if I just recieve a date
like 2016-01-23
? Do I have to strip out each part and feed it to carbon
before I can create a carbon
date? or maybe I receive time
like 11:53:20
??
I'm dealing with dynamic dates and time and writing code to separate parts of time or date doesn't feel right.
Any help appreciated.
回答1:
You can use one of two ways of creating a Carbon instance from that date string:
1. Create a new instance and pass the string to the constructor:
// From a datetime string
$datetime = new Carbon('2016-01-23 11:53:20');
// From a date string
$date = new Carbon('2016-01-23');
// From a time string
$time = new Carbon('11:53:20');
2. Use the createFromFormat
method:
// From a datetime string
$datetime = Carbon::createFromFormat('Y-m-d H:i:s', '2016-01-23 11:53:20');
// From a date string
$date = Carbon::createFromFormat('Y-m-d', '2016-01-23');
// From a time string
$time = Carbon::createFromFormat('H:i:s', '11:53:20');
The Carbon class is just extending the PHP DateTime class, which means that you can use all the same methods including the same constructor parameters or the createFromFormat method.
来源:https://stackoverflow.com/questions/34971082/create-date-carbon-in-laravel