9

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

How I can get date and time separated?

Machavity
  • 30,841
  • 27
  • 92
  • 100
MisterPi
  • 1,471
  • 5
  • 17
  • 23
  • 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](https://laravel.com/docs/5.3/eloquent-mutators#date-mutators) – Thomas De Marez Nov 02 '16 at 08:09
  • Possible duplicate of [Laravel 5 Carbon format datetime](http://stackoverflow.com/questions/33405939/laravel-5-carbon-format-datetime) – raz Nov 02 '16 at 08:22

4 Answers4

15

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!

Rwd
  • 34,180
  • 6
  • 64
  • 78
7

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

Christophvh
  • 12,586
  • 7
  • 48
  • 70
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.

Rama Durai
  • 740
  • 6
  • 17
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.

Alexey Mezenin
  • 158,981
  • 26
  • 290
  • 279