Laravel-Excel 2、从"date"中获取Carbon格式的年月
Laravel-Excel 2, get the year and month from "date" in Carbon format
在 Laravel-Excel 2 中,我正在读取这样的文件:
读取它的代码是这样的:
$my_file ='some/path/to/my_file.xls';
$data = Excel::selectSheetsByIndex(0)->load($my_file, function($reader) {})->get()->toArray();
这是 dd($data[0]);
的输出,考虑到 data
是一个数组:
我需要从 "date" 中获取年份 (2005) 和月份 (11)。 "date" 在 "fecha" 里面并且是 Carbon 格式。我怎么才能得到它?我在阅读那个数组对象的东西时遇到了很多问题。我认为 $data[0]["fecha"]->date
可以解决问题,但它不是这样工作的:
$data[0]["fecha"].["date"]
但是我在 php 和 "Array to string conversion" 的某些版本中遇到了一些错误,但是在我的 php 中它没有显示错误, 所以我应该怎么得到那个年和那个月?我不明白。
这是print_r($data[0]);die();
的输出:
Array (
[fecha] => Carbon\Carbon Object (
[date] => 2005-11-01 00:00:00.000000 [timezone_type] => 3 [timezone] => America/Santiago
)
[hora] =>
[bloquefr] => N
[dia] => 1
[activo_defecto] => 118.209
[reactivo_defecto] => 0
[empresa] => Luz Osorno
[barra_internal_name] => La Union 13.8
[barra_cen_name] => La Union 13.8
[barra_cne_name] => L.UNION_______013
[barra_cen_name_2] => La Union 1 023
[tipo_barra] => SPD
)
编辑:print_r($data[0]["fecha"].["date"]);die();
的输出是
2005-11-01 00:00:00Array
我不知道这是什么意思...
尝试
$data[0]["fecha"]->formatLocalized('Y'); // 2005
$data[0]["fecha"]->formatLocalized('m'); // 11
编辑:print_r($data[0]["fecha"].["date"]);die(); 的输出是
2005-11-01 00:00:00Array
因为您要将 $data[0]["fecha"] 和 ["date"] 与运算符“.”连接起来并打印出来。在内部,被解释为:
$data[0]["fecha"]->toString.["date"]->toString
尝试直接从 Carbon 对象调用:
$str = $data[0]["fecha"]->format('Y m');
在 Laravel-Excel 2 中,我正在读取这样的文件:
读取它的代码是这样的:
$my_file ='some/path/to/my_file.xls';
$data = Excel::selectSheetsByIndex(0)->load($my_file, function($reader) {})->get()->toArray();
这是 dd($data[0]);
的输出,考虑到 data
是一个数组:
我需要从 "date" 中获取年份 (2005) 和月份 (11)。 "date" 在 "fecha" 里面并且是 Carbon 格式。我怎么才能得到它?我在阅读那个数组对象的东西时遇到了很多问题。我认为 $data[0]["fecha"]->date
可以解决问题,但它不是这样工作的:
$data[0]["fecha"].["date"]
但是我在 php 和 "Array to string conversion" 的某些版本中遇到了一些错误,但是在我的 php 中它没有显示错误, 所以我应该怎么得到那个年和那个月?我不明白。
这是print_r($data[0]);die();
的输出:
Array (
[fecha] => Carbon\Carbon Object (
[date] => 2005-11-01 00:00:00.000000 [timezone_type] => 3 [timezone] => America/Santiago
)
[hora] =>
[bloquefr] => N
[dia] => 1
[activo_defecto] => 118.209
[reactivo_defecto] => 0
[empresa] => Luz Osorno
[barra_internal_name] => La Union 13.8
[barra_cen_name] => La Union 13.8
[barra_cne_name] => L.UNION_______013
[barra_cen_name_2] => La Union 1 023
[tipo_barra] => SPD
)
编辑:print_r($data[0]["fecha"].["date"]);die();
的输出是
2005-11-01 00:00:00Array
我不知道这是什么意思...
尝试
$data[0]["fecha"]->formatLocalized('Y'); // 2005
$data[0]["fecha"]->formatLocalized('m'); // 11
编辑:print_r($data[0]["fecha"].["date"]);die(); 的输出是
2005-11-01 00:00:00Array
因为您要将 $data[0]["fecha"] 和 ["date"] 与运算符“.”连接起来并打印出来。在内部,被解释为:
$data[0]["fecha"]->toString.["date"]->toString
尝试直接从 Carbon 对象调用:
$str = $data[0]["fecha"]->format('Y m');