diff --git a/samples/templates/excel2003.xml b/samples/templates/excel2003.xml index cd1188a7..5e0268f9 100644 --- a/samples/templates/excel2003.xml +++ b/samples/templates/excel2003.xml @@ -14,7 +14,7 @@ Some comments about the PHPExcel Gnumeric Reader Owen Leibman 2010-09-02T20:48:39Z - 2010-09-02T20:48:39Z + 2010-09-03T21:48:39Z PHPExcel Xml Reader Test Category Maarten Balliauw PHPExcel diff --git a/src/PhpSpreadsheet/Reader/Xml/Properties.php b/src/PhpSpreadsheet/Reader/Xml/Properties.php index fa0d7957..1c3e421a 100644 --- a/src/PhpSpreadsheet/Reader/Xml/Properties.php +++ b/src/PhpSpreadsheet/Reader/Xml/Properties.php @@ -70,7 +70,7 @@ class Properties break; case 'Created': - $docProps->setCreated($this->processTimestampValue($stringValue)); + $docProps->setCreated($stringValue); break; case 'LastAuthor': @@ -78,7 +78,7 @@ class Properties break; case 'LastSaved': - $docProps->setModified($this->processTimestampValue($stringValue)); + $docProps->setModified($stringValue); break; case 'Company': @@ -135,7 +135,7 @@ class Properties break; case 'dateTime.tz': $propertyType = DocumentProperties::PROPERTY_TYPE_DATE; - $propertyValue = $this->processTimestampValue(trim((string) $propertyValue)); + $propertyValue = trim((string) $propertyValue); break; } @@ -154,11 +154,4 @@ class Properties ? new SimpleXMLElement('') : ($simple->attributes($node) ?? new SimpleXMLElement('')); } - - protected function processTimestampValue(string $dateTimeValue): int - { - $dateTime = strtotime($dateTimeValue); - - return $dateTime === false ? time() : $dateTime; - } } diff --git a/tests/PhpSpreadsheetTests/Reader/Xml/XmlLoadTest.php b/tests/PhpSpreadsheetTests/Reader/Xml/XmlLoadTest.php index 3783c1a9..29d81299 100644 --- a/tests/PhpSpreadsheetTests/Reader/Xml/XmlLoadTest.php +++ b/tests/PhpSpreadsheetTests/Reader/Xml/XmlLoadTest.php @@ -2,7 +2,9 @@ namespace PhpOffice\PhpSpreadsheetTests\Reader\Xml; +use DateTimeZone; use PhpOffice\PhpSpreadsheet\Reader\Xml; +use PhpOffice\PhpSpreadsheet\Shared\Date; use PHPUnit\Framework\TestCase; class XmlLoadTest extends TestCase @@ -21,8 +23,17 @@ class XmlLoadTest extends TestCase self::assertEquals('BCD', $sheet->getCell('A4')->getValue()); $props = $spreadsheet->getProperties(); self::assertEquals('Mark Baker', $props->getCreator()); + $creationDate = $props->getCreated(); + $result = Date::formattedDateTimeFromTimestamp("$creationDate", 'Y-m-d\\TH:i:s\\Z', new DateTimeZone('UTC')); + self::assertEquals('2010-09-02T20:48:39Z', $result); + $creationDate = $props->getModified(); + $result = Date::formattedDateTimeFromTimestamp("$creationDate", 'Y-m-d\\TH:i:s\\Z', new DateTimeZone('UTC')); + self::assertEquals('2010-09-03T21:48:39Z', $result); self::assertEquals('AbCd1234', $props->getCustomPropertyValue('my_API_Token')); self::assertEquals('2', $props->getCustomPropertyValue('myڐInt')); + $creationDate = $props->getCustomPropertyValue('my_API_Token_Expiry'); + $result = Date::formattedDateTimeFromTimestamp("$creationDate", 'Y-m-d\\TH:i:s\\Z', new DateTimeZone('UTC')); + self::assertEquals('2019-01-31T07:00:00Z', $result); $sheet = $spreadsheet->getSheet(0); self::assertEquals('Sample Data', $sheet->getTitle());