如何使用 Laravel 解析日期和时间?

问题描述 投票:0回答:5

我有日期时间字符串:

2016-11-01 15:04:19

如何将日期和时间分开?

php laravel laravel-5 laravel-5.3 php-carbon
5个回答
16
投票

碳带有多个

setters
getters

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
投票

你可以做

 $model->created_at->format('Y-m-d');

格式化特定日期。仅当您的日期是 Carbon 实例时,此解决方案才有效。或者,您可以使用 Mutators 默认格式化日期,并在必要时将其设为 Carbon 实例。https://laravel.com/docs/5.3/eloquent-mutators#date-mutators


7
投票

如果你尝试这些,

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

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

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

碳也有用,

Carbon::parse();

php 日期

对你来说没关系..

希望对你有帮助。


6
投票

如果你的日期是Carbon对象,你可以这样做:

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

如果您将此日期存储在数据库中并且它不是 Carbon 实例,请使用 date mutator 它将日期转换为 Carbon 的实例:

protected $dates = [
    'custom_date',
];

如果您从其他来源获取日期,您可以创建一个 Carbon 实例和

parse()
日期:

Carbon::parse($custom_date);

此后您可以使用上面列出的方法。


0
投票

Laravel 模型的serializeDate 函数可用于更改不同日期属性的日期格式。此方法允许您选择需要格式化日期的格式。

protected function serializeDate($date){
    return $date->format('Y-m-d');
}
© www.soinside.com 2019 - 2024. All rights reserved.