我在mysql中有一个“datetime”字段。
$time = "1900-01-01 00:00:00";
我只能得到一年。我试过$time -> year
,但它并不好。
(试图获取非对象的属性)也许我需要将此字符串转换为日期?
我希望有一个人可以帮助我!非常感谢!
你可以用两种方式做到这一点,
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');