10

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

How I can get date and time separated?

2
  • Use it as a Carbon instance, that way you can access the date, time desperately (even the day, month, year, hours, minutes, and so on) docs on carbon Commented Nov 2, 2016 at 8:09
  • Possible duplicate of Laravel 5 Carbon format datetime Commented Nov 2, 2016 at 8:22

5 Answers 5

16

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!

Sign up to request clarification or add additional context in comments.

Comments

8

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

Comments

7

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.

Comments

6

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.

Comments

0

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');
}

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.