Mysqlに「datetime」フィールドがあります。
$time = "1900-01-01 00:00:00";
1年しか取れません。私は試した $time -> year
、しかしそれは良くない。
(非オブジェクトのプロパティを取得しようとしています)多分私はこの文字列を日付に変換する必要がありますか?
誰かが私を助けてくれることを願っています!本当にありがとう!
これには2つの方法があります。
1-関連するmodel
に提出された日付を次のように定義します。
public function getDates()
{
//define the datetime table column names as below in an array, and you will get the
//carbon objects for these fields in model objects.
return array('created_at', 'updated_at', 'date_time_field');
}
次に、laravelこれらの列のカーボンオブジェクトを返すため、$time->year
のように使用できます。
2- Moppoの回答のように、炭素オブジェクトを作成して年を取得できます
Carbon::createFromFormat('Y-m-d H:i:s', $time)->year
最初は私にとってとてもきれいにして、あなたはあなたに合った方法を決めることができます。
Laravelでは、 Carbon を使用して日付を解析できます:
$time = "1900-01-01 00:00:00";
$date = new Carbon( $time );
Carbonオブジェクトを取得したら、年を取得するには、次のようにします。
$date->year;
または:
$date->format('Y');
pHPの組み込みメソッドを使用する
$year = date('Y', strtotime($dateString));
これを試してみてください
$time = date_create("2014-01-01 00:00:00");
echo date_format($time, 'Y');
Laravelのカーボンライブラリを使用して、タイムスタンプ日付からyear
、month
およびday
を取得します。
- 年を取得
$timestemp = "2020-01-01 01:02:03";
$year = Carbon\Carbon::createFromFormat('Y-m-d H:i:s', $timestemp)->year;
- 月を取得
$timestemp = "2020-01-01 01:02:03";
$month = Carbon\Carbon::createFromFormat('Y-m-d H:i:s', $timestemp)->month;
- 日を得る
$timestemp = "2020-01-01 01:02:03";
$day = Carbon\Carbon::createFromFormat('Y-m-d H:i:s', $timestemp)->day;