Я пытаюсь использовать Laravel Excel , который основан на PHP электронной таблице , чтобы пользователи могли загружать файл, редактировать его, а затем загружать.
Затем я просто l oop просматриваю каждую ячейку и сравниваю значение, чтобы обнаружить какие-либо изменения.
Однако формат даты меняется и, таким образом, помечается как изменение, даже если его нет.
Если я экспортирую файл как XLS, тогда даты будут преобразованы во временную метку, и с ними действительно легко работать, например,
\PhpOffice\PhpSpreadsheet\Shared\Date::excelToDateTimeObject($sheet->getCellByColumnAndRow($col, $row)->getValue())
Однако, если я экспортирую как CSV, я вручную устанавливаю формат в Ymd (это кажется самым простым, поскольку никто в мире не использует Ydm, поэтому формат должен быть ясным).
Но когда я открываю CSV на своем локальном компьютере, редактирую какое-то поле без даты и сохраняю его, затем даты затем преобразуются в d / m / Y (мой локальный формат).
Итак, если я экспортирую 2000-12-25, я вернусь 25/12/2000.
В этом конкретном c пример, очевидно, я знаю формат d / m / Y, потому что это моя локальная машина, но sinc Это может быть использовано кем угодно в мире, значение ячейки может быть датой в огромном диапазоне форматов, и мне нужно найти способ узнать, в каком формате находится дата.
Есть ли способ определить формат даты из заголовков в файле CSV или что-то в этом роде?