320 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			320 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| return [
 | |
|     'Year without century specified' => [
 | |
|         6890, // '11th November 1918'
 | |
|         18, 11, 11,
 | |
|     ],
 | |
|     'Excel 1900 Calendar Base Date' => [
 | |
|         1,
 | |
|         1900, 1, 1,
 | |
|     ],
 | |
|     'Day before Excel mythical 1900 leap day' => [
 | |
|         59,
 | |
|         1900, 2, 28,
 | |
|     ],
 | |
|     'Excel mythical 1900 leap day' => [
 | |
|         60,
 | |
|         1900, 2, 29,
 | |
|     ],
 | |
|     'Day after Excel mythical 1900 leap day' => [
 | |
|         61,
 | |
|         1900, 3, 1,
 | |
|     ],
 | |
|     'Day after Excel actual 1904 leap day' => [
 | |
|         713,
 | |
|         1901, 12, 13,
 | |
|     ],
 | |
|     'signed 32-bit Unix Timestamp Earliest Date' => [
 | |
|         714,
 | |
|         1901, 12, 14,
 | |
|     ],
 | |
|     'Day before Excel 1904 Calendar Base Date' => [
 | |
|         1461,
 | |
|         1903, 12, 31,
 | |
|     ],
 | |
|     'Excel 1904 Calendar Base Date' => [
 | |
|         1462,
 | |
|         1904, 1, 1,
 | |
|     ],
 | |
|     'Day after Excel 1904 Calendar Base Date' => [
 | |
|         1463,
 | |
|         1904, 1, 2,
 | |
|     ],
 | |
|     [
 | |
|         22269,
 | |
|         1960, 12, 19,
 | |
|     ],
 | |
|     'Unix Timestamp Base Date' => [
 | |
|         25569,
 | |
|         1970, 1, 1,
 | |
|     ],
 | |
|     [
 | |
|         30292,
 | |
|         1982, 12, 7,
 | |
|     ],
 | |
|     [
 | |
|         39611,
 | |
|         2008, 6, 12,
 | |
|     ],
 | |
|     '32-bit signed Unix Timestamp Latest Date' => [
 | |
|         50424,
 | |
|         2038, 1, 19,
 | |
|     ],
 | |
|     'Day after 32-bit signed Unix Timestamp Latest Date' => [
 | |
|         50425,
 | |
|         2038, 1, 20,
 | |
|     ],
 | |
|     [
 | |
|         39448,
 | |
|         2008, 1, 1,
 | |
|     ],
 | |
|     [
 | |
|         39447,
 | |
|         2008, 1, null,
 | |
|     ],
 | |
|     [
 | |
|         39446,
 | |
|         2008, 1, -1,
 | |
|     ],
 | |
|     [
 | |
|         39417,
 | |
|         2008, 1, -30,
 | |
|     ],
 | |
|     [
 | |
|         39416,
 | |
|         2008, 1, -31,
 | |
|     ],
 | |
|     [
 | |
|         39082,
 | |
|         2008, 1, -365,
 | |
|     ],
 | |
|     [
 | |
|         39508,
 | |
|         2008, 3, 1,
 | |
|     ],
 | |
|     [
 | |
|         39507,
 | |
|         2008, 3, null,
 | |
|     ],
 | |
|     [
 | |
|         39506,
 | |
|         2008, 3, -1,
 | |
|     ],
 | |
|     [
 | |
|         39142,
 | |
|         2008, 3, -365,
 | |
|     ],
 | |
|     [
 | |
|         39417,
 | |
|         2008, null, 1,
 | |
|     ],
 | |
|     [
 | |
|         39387,
 | |
|         2008, -1, 1,
 | |
|     ],
 | |
|     [
 | |
|         39083,
 | |
|         2008, -11, 1,
 | |
|     ],
 | |
|     [
 | |
|         39052,
 | |
|         2008, -12, 1,
 | |
|     ],
 | |
|     [
 | |
|         39022,
 | |
|         2008, -13, 1,
 | |
|     ],
 | |
|     [
 | |
|         39051,
 | |
|         2008, -13, 30,
 | |
|     ],
 | |
|     [
 | |
|         39021,
 | |
|         2008, -13, null,
 | |
|     ],
 | |
|     [
 | |
|         38991,
 | |
|         2008, -13, -30,
 | |
|     ],
 | |
|     [
 | |
|         38990,
 | |
|         2008, -13, -31,
 | |
|     ],
 | |
|     [
 | |
|         39814,
 | |
|         2008, 13, 1,
 | |
|     ],
 | |
|     [
 | |
|         39507,
 | |
|         2007, 15, null,
 | |
|     ],
 | |
|     [
 | |
|         40210,
 | |
|         2008, 26, 1,
 | |
|     ],
 | |
|     [
 | |
|         40199,
 | |
|         2008, 26, -10,
 | |
|     ],
 | |
|     [
 | |
|         38686,
 | |
|         2008, -26, 61,
 | |
|     ],
 | |
|     [
 | |
|         39641,
 | |
|         2010, -15, -50,
 | |
|     ],
 | |
|     [
 | |
|         39741,
 | |
|         2010, -15, 50,
 | |
|     ],
 | |
|     [
 | |
|         40552,
 | |
|         2010, 15, -50,
 | |
|     ],
 | |
|     [
 | |
|         40652,
 | |
|         2010, 15, 50,
 | |
|     ],
 | |
|     [
 | |
|         40179,
 | |
|         2010, 1.5, 1,
 | |
|     ],
 | |
|     [
 | |
|         40178,
 | |
|         2010, 1.5, 0,
 | |
|     ],
 | |
|     [
 | |
|         40148,
 | |
|         2010, 0, 1.5,
 | |
|     ],
 | |
|     [
 | |
|         40179,
 | |
|         2010, 1, 1.5,
 | |
|     ],
 | |
|     [
 | |
|         41075,
 | |
|         2012, 6, 15,
 | |
|     ],
 | |
|     [
 | |
|         41060,
 | |
|         2012, 6, null,
 | |
|     ],
 | |
|     [
 | |
|         40892,
 | |
|         2012, null, 15,
 | |
|     ],
 | |
|     [
 | |
|         167,
 | |
|         null, 6, 15,
 | |
|     ],
 | |
|     [
 | |
|         3819,
 | |
|         10, 6, 15,
 | |
|     ],
 | |
|     [
 | |
|         3622,
 | |
|         10, null, null,
 | |
|     ],
 | |
|     [
 | |
|         274,
 | |
|         null, 10, null,
 | |
|     ],
 | |
|     [
 | |
|         '#NUM!',
 | |
|         null, null, 10,
 | |
|     ],
 | |
|     [
 | |
|         '#NUM!',
 | |
|         -20, null, null,
 | |
|     ],
 | |
|     [
 | |
|         '#NUM!',
 | |
|         -20, 6, 15,
 | |
|     ],
 | |
|     'Excel Maximum Date' => [
 | |
|         2958465,
 | |
|         9999, 12, 31,
 | |
|     ],
 | |
|     'Exceeded Excel Maximum Date' => [
 | |
|         '#NUM!',
 | |
|         10000, 1, 1,
 | |
|     ],
 | |
|     [
 | |
|         39670,
 | |
|         2008, 8, 10,
 | |
|     ],
 | |
|     [
 | |
|         39813,
 | |
|         2008, 12, 31,
 | |
|     ],
 | |
|     [
 | |
|         39692,
 | |
|         2008, 8, 32,
 | |
|     ],
 | |
|     [
 | |
|         39844,
 | |
|         2008, 13, 31,
 | |
|     ],
 | |
|     [
 | |
|         39813,
 | |
|         2009, 1, 0,
 | |
|     ],
 | |
|     [
 | |
|         39812,
 | |
|         2009, 1, -1,
 | |
|     ],
 | |
|     [
 | |
|         39782,
 | |
|         2009, 0, 0,
 | |
|     ],
 | |
|     [
 | |
|         39781,
 | |
|         2009, 0, -1,
 | |
|     ],
 | |
|     [
 | |
|         39752,
 | |
|         2009, -1, 0,
 | |
|     ],
 | |
|     [
 | |
|         39751,
 | |
|         2009, -1, -1,
 | |
|     ],
 | |
|     [
 | |
|         40146,
 | |
|         2010, 0, -1,
 | |
|     ],
 | |
|     [
 | |
|         40329,
 | |
|         2010, 5, 31,
 | |
|     ],
 | |
|     // MS Excel will fail with a #VALUE return, but PhpSpreadsheet can parse this date
 | |
|     [
 | |
|         40199,
 | |
|         2010, 1, '21st',
 | |
|     ],
 | |
|     // MS Excel will fail with a #VALUE return, but PhpSpreadsheet can parse this date
 | |
|     [
 | |
|         40258,
 | |
|         2010, 'March', '21st',
 | |
|     ],
 | |
|     // MS Excel will fail with a #VALUE return, but PhpSpreadsheet can parse this date
 | |
|     [
 | |
|         40258,
 | |
|         2010, 'March', 21,
 | |
|     ],
 | |
|     [
 | |
|         '#VALUE!',
 | |
|         'ABC', 1, 21,
 | |
|     ],
 | |
|     [
 | |
|         '#VALUE!',
 | |
|         2010, 'DEF', 21,
 | |
|     ],
 | |
|     [
 | |
|         '#VALUE!',
 | |
|         2010, 3, 'GHI',
 | |
|     ],
 | |
| ];
 | 
