YEARFRAC.php 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614
  1. <?php
  2. return [
  3. [
  4. 0.025,
  5. '2007-1-1',
  6. '2007-1-10',
  7. 0,
  8. ],
  9. [
  10. 0.025,
  11. '2007-1-1',
  12. '2007-1-10',
  13. null,
  14. ],
  15. [
  16. 0.025,
  17. '2007-1-1',
  18. '2007-1-10',
  19. 'omitted',
  20. ],
  21. [
  22. 0.025,
  23. '2007-1-10',
  24. '2007-1-1',
  25. 0,
  26. ],
  27. [
  28. 0.024657534246580001,
  29. '2007-1-1',
  30. '2007-1-10',
  31. 1,
  32. ],
  33. [
  34. 0.025,
  35. '2007-1-1',
  36. '2007-1-10',
  37. 2,
  38. ],
  39. [
  40. 0.024657534246580001,
  41. '2007-1-1',
  42. '2007-1-10',
  43. 3,
  44. ],
  45. [
  46. 0.025,
  47. '2007-1-1',
  48. '2007-1-10',
  49. 4,
  50. ],
  51. [
  52. 1.0,
  53. '2007-1-1',
  54. '2007-12-31',
  55. 0,
  56. ],
  57. [
  58. 0.99726027397259998,
  59. '2007-1-1',
  60. '2007-12-31',
  61. 1,
  62. ],
  63. [
  64. 1.01111111111111,
  65. '2007-1-1',
  66. '2007-12-31',
  67. 2,
  68. ],
  69. [
  70. 0.99726027397259998,
  71. '2007-1-1',
  72. '2007-12-31',
  73. 3,
  74. ],
  75. [
  76. 0.99722222222222001,
  77. '2007-1-1',
  78. '2007-12-31',
  79. 4,
  80. ],
  81. [
  82. 1.5,
  83. '2007-1-1',
  84. '2008-7-1',
  85. 0,
  86. ],
  87. [
  88. 1.49658002735978,
  89. '2007-1-1',
  90. '2008-7-1',
  91. 1,
  92. ],
  93. [
  94. 1.5194444444444399,
  95. '2007-1-1',
  96. '2008-7-1',
  97. 2,
  98. ],
  99. [
  100. 1.4986301369863,
  101. '2007-1-1',
  102. '2008-7-1',
  103. 3,
  104. ],
  105. [
  106. 1.5,
  107. '2007-1-1',
  108. '2008-7-1',
  109. 4,
  110. ],
  111. [
  112. 0.083333333333329998,
  113. '2007-1-1',
  114. '2007-1-31',
  115. 0,
  116. ],
  117. [
  118. 0.082191780821919996,
  119. '2007-1-1',
  120. '2007-1-31',
  121. 1,
  122. ],
  123. [
  124. 0.083333333333329998,
  125. '2007-1-1',
  126. '2007-1-31',
  127. 2,
  128. ],
  129. [
  130. 0.082191780821919996,
  131. '2007-1-1',
  132. '2007-1-31',
  133. 3,
  134. ],
  135. [
  136. 0.080555555555560002,
  137. '2007-1-1',
  138. '2007-1-31',
  139. 4,
  140. ],
  141. [
  142. 0.083333333333329998,
  143. '2007-1-1',
  144. '2007-2-1',
  145. 0,
  146. ],
  147. [
  148. 0.084931506849319993,
  149. '2007-1-1',
  150. '2007-2-1',
  151. 1,
  152. ],
  153. [
  154. 0.08611111111111,
  155. '2007-1-1',
  156. '2007-2-1',
  157. 2,
  158. ],
  159. [
  160. 0.084931506849319993,
  161. '2007-1-1',
  162. '2007-2-1',
  163. 3,
  164. ],
  165. [
  166. 0.083333333333329998,
  167. '2007-1-1',
  168. '2007-2-1',
  169. 4,
  170. ],
  171. [
  172. 0.15833333333333,
  173. '2007-1-1',
  174. '2007-2-28',
  175. 0,
  176. ],
  177. [
  178. 0.15890410958904,
  179. '2007-1-1',
  180. '2007-2-28',
  181. 1,
  182. ],
  183. [
  184. 0.16111111111111001,
  185. '2007-1-1',
  186. '2007-2-28',
  187. 2,
  188. ],
  189. [
  190. 0.15890410958904,
  191. '2007-1-1',
  192. '2007-2-28',
  193. 3,
  194. ],
  195. [
  196. 0.15833333333333,
  197. '2007-1-1',
  198. '2007-2-28',
  199. 4,
  200. ],
  201. [
  202. 0.0027777777777800001,
  203. '2007-1-31',
  204. '2007-2-1',
  205. 0,
  206. ],
  207. [
  208. 0.0027397260273999999,
  209. '2007-1-31',
  210. '2007-2-1',
  211. 1,
  212. ],
  213. [
  214. 0.0027777777777800001,
  215. '2007-1-31',
  216. '2007-2-1',
  217. 2,
  218. ],
  219. [
  220. 0.0027397260273999999,
  221. '2007-1-31',
  222. '2007-2-1',
  223. 3,
  224. ],
  225. [
  226. 0.0027777777777800001,
  227. '2007-1-31',
  228. '2007-2-1',
  229. 4,
  230. ],
  231. [
  232. 0.08611111111111,
  233. '2007-1-31',
  234. '2007-3-1',
  235. 0,
  236. ],
  237. [
  238. 0.07945205479452,
  239. '2007-1-31',
  240. '2007-3-1',
  241. 1,
  242. ],
  243. [
  244. 0.080555555555560002,
  245. '2007-1-31',
  246. '2007-3-1',
  247. 2,
  248. ],
  249. [
  250. 0.07945205479452,
  251. '2007-1-31',
  252. '2007-3-1',
  253. 3,
  254. ],
  255. [
  256. 0.08611111111111,
  257. '2007-1-31',
  258. '2007-3-1',
  259. 4,
  260. ],
  261. [
  262. 0.16666666666666999,
  263. '2007-1-31',
  264. '2007-3-31',
  265. 0,
  266. ],
  267. [
  268. 0.16164383561644,
  269. '2007-1-31',
  270. '2007-3-31',
  271. 1,
  272. ],
  273. [
  274. 0.16388888888889,
  275. '2007-1-31',
  276. '2007-3-31',
  277. 2,
  278. ],
  279. [
  280. 0.16164383561644,
  281. '2007-1-31',
  282. '2007-3-31',
  283. 3,
  284. ],
  285. [
  286. 0.16666666666666999,
  287. '2007-1-31',
  288. '2007-3-31',
  289. 4,
  290. ],
  291. [
  292. 0.66666666666666996,
  293. '2008-1-1',
  294. '2008-9-1',
  295. 0,
  296. ],
  297. [
  298. 0.66666666666666996,
  299. '2008-1-1',
  300. '2008-9-1',
  301. 1,
  302. ],
  303. [
  304. 0.67777777777778003,
  305. '2008-1-1',
  306. '2008-9-1',
  307. 2,
  308. ],
  309. [
  310. 0.66849315068492998,
  311. '2008-1-1',
  312. '2008-9-1',
  313. 3,
  314. ],
  315. [
  316. 0.66666666666666996,
  317. '2008-1-1',
  318. '2008-9-1',
  319. 4,
  320. ],
  321. [
  322. 1.1666666666666701,
  323. '2007-2-1',
  324. '2008-4-1',
  325. 0,
  326. ],
  327. [
  328. 1.16279069767442,
  329. '2007-2-1',
  330. '2008-4-1',
  331. 1,
  332. ],
  333. [
  334. 1.18055555555556,
  335. '2007-2-1',
  336. '2008-4-1',
  337. 2,
  338. ],
  339. [
  340. 1.16438356164384,
  341. '2007-2-1',
  342. '2008-4-1',
  343. 3,
  344. ],
  345. [
  346. 1.1666666666666701,
  347. '2007-2-1',
  348. '2008-4-1',
  349. 4,
  350. ],
  351. [
  352. 47.524999999999999,
  353. '1960-12-19',
  354. '2008-6-28',
  355. 0,
  356. ],
  357. [
  358. 47.52162252765670,
  359. '1960-12-19',
  360. '2008-6-28',
  361. 1,
  362. ],
  363. [
  364. 48.216666666666697,
  365. '1960-12-19',
  366. '2008-6-28',
  367. 2,
  368. ],
  369. [
  370. 47.556164383561601,
  371. '1960-12-19',
  372. '2008-6-28',
  373. 3,
  374. ],
  375. [
  376. 47.524999999999999,
  377. '1960-12-19',
  378. '2008-6-28',
  379. 4,
  380. ],
  381. [
  382. 25.558333333333302,
  383. '1982-12-7',
  384. '2008-6-28',
  385. 0,
  386. ],
  387. [
  388. 25.5571892111134,
  389. '1982-12-7',
  390. '2008-6-28',
  391. 1,
  392. ],
  393. [
  394. 25.9305555555556,
  395. '1982-12-7',
  396. '2008-6-28',
  397. 2,
  398. ],
  399. [
  400. 25.575342465753401,
  401. '1982-12-7',
  402. '2008-6-28',
  403. 3,
  404. ],
  405. [
  406. 25.558333333333302,
  407. '1982-12-7',
  408. '2008-6-28',
  409. 4,
  410. ],
  411. [
  412. 0.163934426,
  413. '1960-01-01',
  414. '1960-03-01',
  415. 1,
  416. ],
  417. [
  418. 0.161643836,
  419. '1961-01-01',
  420. '1961-03-01',
  421. 1,
  422. ],
  423. [
  424. 0.161643836,
  425. '1963-03-01',
  426. '1963-01-01',
  427. 1,
  428. ],
  429. [
  430. 1.086183311,
  431. '1960-01-01',
  432. '1961-02-01',
  433. 1,
  434. ],
  435. [
  436. 1.084931507,
  437. '1961-01-01',
  438. '1962-02-01',
  439. 1,
  440. ],
  441. [
  442. 1.083447332,
  443. '1963-01-01',
  444. '1964-02-01',
  445. 1,
  446. ],
  447. [
  448. 1.162790698,
  449. '1963-01-01',
  450. '1964-03-01',
  451. 1,
  452. ],
  453. [
  454. 0.841530055,
  455. '2020-02-28',
  456. '2021-01-01',
  457. 1,
  458. ],
  459. [
  460. 0.764383562,
  461. '2020-03-28',
  462. '2021-01-01',
  463. 1,
  464. ],
  465. [
  466. 0.841530055,
  467. '2023-04-28',
  468. '2024-03-01',
  469. 1,
  470. ],
  471. [
  472. 0.838797814,
  473. '2023-04-28',
  474. '2024-02-29',
  475. 1,
  476. ],
  477. [
  478. 0.838356164,
  479. '2023-04-28',
  480. '2024-02-28',
  481. 1,
  482. ],
  483. [
  484. 0.753424658,
  485. '2023-04-28',
  486. '2024-01-28',
  487. 1,
  488. ],
  489. [
  490. 0.753424658,
  491. '2022-04-28',
  492. '2023-01-28',
  493. 1,
  494. ],
  495. [
  496. 1.0,
  497. '2020-01-01',
  498. '2021-01-01',
  499. 1,
  500. ],
  501. [
  502. 0.99726776,
  503. '2020-02-28',
  504. '2021-02-27',
  505. 1,
  506. ],
  507. [
  508. 0.764383562,
  509. '2020-03-28',
  510. '2021-01-01',
  511. 1,
  512. ],
  513. [
  514. 0.841530055,
  515. '2023-04-28',
  516. '2024-03-01',
  517. 1,
  518. ],
  519. [
  520. 0.838797814,
  521. '2023-04-28',
  522. '2024-02-29',
  523. 1,
  524. ],
  525. [
  526. 0.838356164,
  527. '2023-04-28',
  528. '2024-02-28',
  529. 1,
  530. ],
  531. [
  532. 0.753424658,
  533. '2023-04-28',
  534. '2024-01-28',
  535. 1,
  536. ],
  537. [
  538. 0.753424658,
  539. '2022-04-28',
  540. '2023-01-28',
  541. 1,
  542. ],
  543. [
  544. 1.082191781,
  545. '2022-04-28',
  546. '2023-05-28',
  547. 1,
  548. ],
  549. [
  550. 1.002739726,
  551. '2022-04-27',
  552. '2023-04-28',
  553. 1,
  554. ],
  555. [
  556. 0.084699454,
  557. '2024-04-27',
  558. '2024-05-28',
  559. 1,
  560. ],
  561. [
  562. 0.084931507,
  563. '2023-04-27',
  564. '2023-05-28',
  565. 1,
  566. ],
  567. [
  568. 2.085766423,
  569. '2023-04-27',
  570. '2025-05-28',
  571. 1,
  572. ],
  573. ['#VALUE!', '2023-04-27', 'ABQZ', 1],
  574. ['#VALUE!', 'ABQZ', '2023-04-07', 1],
  575. ['#NUM!', '2023-04-27', '2025-05-28', 6],
  576. ['exception', '2023-04-27', 'omitted'],
  577. ['exception', 'omitted'],
  578. [0, null, null],
  579. // Excel 1900 calendar gets all of the following wrong (null second arg).
  580. // PhpSpreadsheet is bug-compatible.
  581. [108, '2007-12-30', null],
  582. [107.11111111, '2007-02-10', null],
  583. [107, '2006-12-30', null],
  584. [107.00277778, '2006-12-31', null],
  585. [107.00277778, '2007-01-01', null],
  586. [106.99722222, null, '2006-12-29'],
  587. [100.419444, '2000-06-01', null, 0],
  588. [100.419572, '2000-06-01', null, 1],
  589. [101.883333, '2000-06-01', null, 2],
  590. [100.487671, '2000-06-01', null, 3],
  591. [100.419444, '2000-06-01', null, 4],
  592. [108.555556, '2006-12-29', null, 2],
  593. [108.558333, '2006-12-30', null, 2],
  594. [108.561111, '2006-12-31', null, 2],
  595. [108.563889, '2007-01-01', null, 2],
  596. [108.566667, '2007-01-02', null, 2],
  597. // Excel 1900 calendar gets all of the following wrong (null first arg).
  598. // PhpSpreadsheet is bug-compatible.
  599. [107, null, '2006-12-30'],
  600. [107.00277778, null, '2006-12-31'],
  601. [107.00277778, null, '2007-01-01'],
  602. [107.00555556, null, '2007-01-02'],
  603. [107.06849315, null, '2006-12-29', 3],
  604. [107.07123288, null, '2006-12-30', 3],
  605. [107.07397260, null, '2006-12-31', 3],
  606. [107.07671233, null, '2007-01-01', 3],
  607. [107.07945205, null, '2007-01-02', 3],
  608. [100.419444, null, '2000-06-01', 0],
  609. [100.419572, null, '2000-06-01', 1],
  610. [101.883333, null, '2000-06-01', 2],
  611. [100.487671, null, '2000-06-01', 3],
  612. [100.419444, null, '2000-06-01', 4],
  613. ];