Laravel - 如何获得日期的年度财产

问题描述 投票:7回答:4

我在mysql中有一个“datetime”字段。

$time = "1900-01-01 00:00:00";

我只能得到一年。我试过$time -> year,但它并不好。

(试图获取非对象的属性)也许我需要将此字符串转换为日期?

我希望有一个人可以帮助我!非常感谢!

php mysql laravel laravel-5 php-carbon
4个回答
11
投票

你可以用两种方式做到这一点,


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

第一个让我这么干净,你可以决定哪种方式适合你。


5
投票

在Laravel中,您可以使用Carbon来解析日期:

$time = "1900-01-01 00:00:00";
$date = new Carbon( $time );   

获得Carbon对象后,即可获得年份:

$date->year;

要么:

$date->format('Y');

4
投票

使用PHP的内置方法

$year = date('Y', strtotime($dateString));

2
投票

试试这个

$time = date_create("2014-01-01 00:00:00");
echo date_format($time, 'Y');
© www.soinside.com 2019 - 2024. All rights reserved.