PhpSpreadsheet/tests/data/Calculation/DateTime/DATE.php

320 lines
4.7 KiB
PHP
Raw Normal View History

<?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',
]
];