web-dev-qa-db-ja.com

日付と時刻にLaravelを使用して日時を解析する方法は?

日時文字列があります:2016-11-01 15:04:19

日付と時刻を分離するにはどうすればよいですか?

5
MisterPi
You can do $model->created_at->format('Y-m-d');

特定の日付をフォーマットします。このソリューションは、日付がCarbonインスタンスである場合にのみ機能します。または、Mutatorsを使用してデフォルトで日付をフォーマットし、必要に応じてCarbonインスタンスにすることができます。 https://laravel.com/docs/5.3/eloquent-mutators#date-mutators

4
Christophvh

Carbonには、複数のsettersgettersが付属しています。

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

日時文字列があり、それをCarbonインスタンスで使用する場合は、次の操作を実行できます。

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

次に、次のようなことができます。

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

そうは言っても、この日時をEloquentモデルから取得している場合は、@ AlexeyMezeninまたは@Christophvhの回答を確認する必要があります。

お役に立てれば!

7
Rwd

日付がCarbonオブジェクトの場合、これを行うことができます。

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

この日付をDBに保存し、Carbonインスタンスでない場合は、 date mutator を使用して、日付をCarbonのインスタンスに変換します。

_protected $dates = [
    'custom_date',
];
_

また、他のソースから日付を取得している場合は、Carbonのインスタンスを作成し、日付をparse()することができます。

_Carbon::parse($custom_date);
_

この後、上記の方法を使用できます。

2
Alexey Mezenin

これらを試してみると、

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

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

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

そしてカーボンも利用できます、

Carbon::parse();

カーボン

php日付

大丈夫です。

お役に立てば幸いです。

2
Rama Durai