我的数据库中有一个名为created_at
的列(我正在使用laravel 5.2)。它的值是这样的:2016-10-01 01:22:13
。我想将这个日期时间拆分为年,月,日,小时,分,秒。
我可以使用下面的方法,只有日期2016-10-01
:
$resDate= explode('-', $resDate);
$year = $resDate[0];
$month = $resDate[1];
$day = $resDate[2];
但如果日期和时间完全相同(2016-10-01 01:22:13
)那我该怎么分裂呢?
答案 0 :(得分:2)
使用date_parse_from_format
:获取有关根据指定格式格式化的给定日期的信息。
$date = '2016-10-01 01:22:13';
$split = date_parse_from_format('Y-m-d h:i:s', $date);
var_dump($split['year']);
// outputs year from the string,
//Similarly `$split['month']` will produce month name and so on.
答案 1 :(得分:1)
根据您在数据库中的数据,您可以将日期与strtotime()
对齐,然后根据需要对其进行格式化。
示例:
$date = 2016-10-01 01:22:13
然后您可以执行以下操作
echo $date_alone = date('d',strtotime($date)) // 01
同样,您可以根据下面给出的代码获取您拥有的所有数据
d
- 日期
m
- 月
Y
- 年
H
- 小时
i
- 分钟
s
- 秒
您可以在下面查看以供参考。
2008-02-07 16:45:58(以此为例)
对于那些通过计算大整数时间而不是天才的人,我将揭示我们如何格式化日期和时间的神秘感。我们将从日期格式开始。它是使用date()函数完成的。它接受两个参数。将字符串和时间格式化为整数。我们将使用time()作为当前时间整数。我们来看一些例子。
echo date("d-m-y", time()); // 07-02-08
上面格式字符串中字符之间的短划线正好是输出将被分隔的内容。
echo date("D j/n/Y", time()); // Thu 7/2/2008
这里的破折号用正斜杠替换。
echo date("jS of F Y", time()); // 7th of February 2008
我们可以使用我们想要的任何角色,请记住,如果它具有特殊含义,则必须对其进行转义。只是为了确保没有错误,我建议你总是逃避你使用的每一个角色。
echo date("d M y", time()); //07 Feb 08
使用月份名称和短年份的简短表示格式化日期。
echo date("l jS of F", time()); // Thursday 7th of February
全天和月份名称,包含该月份的序号后缀。
示例日期格式字符的图例:
d - 一天的数字表示,前导零到31。
m - 一个月的数字表示,前导零到01。
y - 一年的数字表示,两位数。
D - 一天的文字表示,Mon到Sun的三个字母。
j - 一天的数字表示,没有前导零1到31。
n - 月份的数字表示,不带前导1到12的零。
Y - 一年的数字表示,四位数。
S - 当月的英文序数后缀。由2个字符st,nd,rd或th组成。
F - 1月至12月的一个月的文字表示。
M - 一个月的文字表示,三个字母从一月到十二月。
星期日到星期六的星期几的文字表示。 现在我们继续我们的下一个任务,即时间格式化。我们仍将使用相同的date()函数,但使用不同的格式字符。
echo date("G:i:s", time()); //16:45:58
使用时间稍微简单一点,因为只有一种表示分钟和秒的方法。
echo date("H:i:s", time()); //16:45:58
尽管分钟和秒格式的选项很少,但我们有很多小时格式化样式。这个代表0到23的前导零的小时数。
echo date("g:i a.", time()); //4:45 pm.
答案 2 :(得分:0)
据我所知,没有一个函数可以将你的日期时间值部分填充到php中的数组中。您可以创建自己的函数将日期时间值拆分为数组。
示例:
ui-view
答案 3 :(得分:0)
在Laravel模型中,您将datetime字段作为Carbon对象。
因此,如果需要日期,您可以简单地调用 - > toDateString()
$modelObject->created_at->toDateString();
http://carbon.nesbot.com/docs/#api-formatting
您还可以直接访问日期的所有值。 http://carbon.nesbot.com/docs/#api-getters
$year = $modelObject->created_at->year;
$month = $modelObject->created_at->month;
$day = $modelObject->created_at->day;