在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
的输出:
我需要从“日期”中获取年份(2005)和月份(11)。 “日期”位于“ fecha”中,并且采用Carbon格式。我怎么才能得到它?我在阅读数组对象时遇到了很多问题。我以为$data[0]["fecha"]->date
可以解决问题,但它可以与
$data[0]["fecha"].["date"]
但是我在某些版本的带有“数组到字符串转换”的php版本中出现了一些错误,但是在我的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
我不知道那意味着什么...
答案 0 :(得分:0)
尝试
$data[0]["fecha"]->formatLocalized('Y'); // 2005
$data[0]["fecha"]->formatLocalized('m'); // 11
EDIT:print_r($ data [0] [“ fecha”]。[“ date”]); die();的输出;是
2005-11-01 00:00:00Array
因为您要将$ data [0] [“ fecha”]和[“ date”]与运算符'。连接在一起。并打印。在内部,解释为:
$data[0]["fecha"]->toString.["date"]->toString
答案 1 :(得分:0)
尝试直接从Carbon对象调用:
$str = $data[0]["fecha"]->format('Y m');