MisterPi
MisterPi

Reputation: 1671

How to parse datetime using Laravel on date and time?

I have datetime string: 2016-11-01 15:04:19

How I can get date and time separated?

Upvotes: 10

Views: 49944

Answers (5)

Mohamed Raza
Mohamed Raza

Reputation: 953

A Laravel model's serializeDate function can be used to change the date format for different date attributes. This method allows you to choose the format in which dates need to be formatted.

protected function serializeDate($date){
    return $date->format('Y-m-d');
}

Upvotes: 0

Christophvh
Christophvh

Reputation: 13224

You can do

 $model->created_at->format('Y-m-d');

to format a specific date. This solution will only work if your date is a Carbon instance. Or you can use Mutators to format a date by default and make it a Carbon instance if necessary.https://laravel.com/docs/5.3/eloquent-mutators#date-mutators

Upvotes: 8

Rwd
Rwd

Reputation: 35180

Carbon comes with multiple setters and getters.

http://carbon.nesbot.com/docs/#api-getters

If you have a datetime string and you want to use it with a Carbon instance you can do:

$date = \Carbon\Carbon::parse('2016-11-01 15:04:19');

Then you can do something like:

$date->format('Y-m-d')
$date->format('H:i:s')

That being said, if you are getting this datetime from an Eloquent model then you should look at @AlexeyMezenin or @Christophvh answer.

Hope this helps!

Upvotes: 16

Alexey Mezenin
Alexey Mezenin

Reputation: 163768

If your date it Carbon object, you can do this:

$date->toTimeString(); // Will output 14:15:16.
$date->toDateString(); // Will output 1975-12-25.
$date->toFormattedDateString(); // Will output Dec 25, 1975.

If you store this date in DB and if it's not Carbon instance, use date mutator which will convert date to istances of Carbon:

protected $dates = [
    'custom_date',
];

And if you're getting date from some other source, you can create an instance of Carbon and parse() the date:

Carbon::parse($custom_date);

After this you can use methods listed above.

Upvotes: 6

Rama Durai
Rama Durai

Reputation: 750

if you try these,

$stringTime = '2016-11-01 15:04:19';

return date('Y-m-d', strtotime($stringTime));

return date('H:i:s', strtotime($stringTime));

And carbon also avail,

Carbon::parse();

Carbon

php date

It is okay for you..

I hope it will help you.

Upvotes: 7

Related Questions