【发布时间】:2016-03-16 03:38:49
【问题描述】:
我在 mysql 中有一个“日期时间”字段。
$time = "1900-01-01 00:00:00";
我不能只得到年份。
我试过$time -> year,但效果不好。
(试图获取非对象的属性) 也许我需要将此字符串转换为日期?
我希望有人可以帮助我! 非常感谢!
【问题讨论】:
标签: php mysql laravel laravel-5 php-carbon
我在 mysql 中有一个“日期时间”字段。
$time = "1900-01-01 00:00:00";
我不能只得到年份。
我试过$time -> year,但效果不好。
(试图获取非对象的属性) 也许我需要将此字符串转换为日期?
我希望有人可以帮助我! 非常感谢!
【问题讨论】:
标签: php mysql laravel laravel-5 php-carbon
您可以通过两种方式做到这一点,
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;
【讨论】: