Laravel-Excel 2, получить год и месяц от даты в формате Carbon - PullRequest
0 голосов
/ 14 ноября 2018

В Laravel-Excel 2 я читаю такой файл:

enter image description here

Код для чтения:

$my_file ='some/path/to/my_file.xls';
$data = Excel::selectSheetsByIndex(0)->load($my_file, function($reader) {})->get()->toArray();

Это вывод для dd($data[0]);, учитывая, что data является массивом:

enter image description here

Мне нужно получить год (2005) и месяц (11) от «даты». «date» находится внутри «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

Я не знаю, что это значит ...

Ответы [ 2 ]

0 голосов
/ 14 ноября 2018

Попробуйте позвонить напрямую с объекта Carbon:

$str = $data[0]["fecha"]->format('Y m');
0 голосов
/ 14 ноября 2018

try

$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
...