NumberFormatDates.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. <?php
  2. return [
  3. [
  4. '19-12-1960 01:30:00',
  5. 22269.0625,
  6. 'dd-mm-yyyy hh:mm:ss',
  7. ],
  8. // Oasis uses upper-case
  9. [
  10. '12/19/1960 01:30:00',
  11. 22269.0625,
  12. 'MM/DD/YYYY HH:MM:SS',
  13. ],
  14. // Date with plaintext escaped with a \
  15. [
  16. '1960-12-19T01:30:00',
  17. 22269.0625,
  18. 'yyyy-mm-dd\\Thh:mm:ss',
  19. ],
  20. // Date with plaintext in quotes
  21. [
  22. '1960-12-19T01:30:00 Z',
  23. 22269.0625,
  24. 'yyyy-mm-dd"T"hh:mm:ss \\Z',
  25. ],
  26. // Date with quoted formatting characters
  27. [
  28. 'y-m-d 1960-12-19 h:m:s 01:30:00',
  29. 22269.0625,
  30. '"y-m-d" yyyy-mm-dd "h:m:s" hh:mm:ss',
  31. ],
  32. // Date with quoted formatting characters
  33. [
  34. 'y-m-d 1960-12-19 h:m:s 01:30:00',
  35. 22269.0625,
  36. '"y-m-d "yyyy-mm-dd" h:m:s "hh:mm:ss',
  37. ],
  38. [
  39. '07:35:00 AM',
  40. 43270.315972222,
  41. 'hh:mm:ss\ AM/PM',
  42. ],
  43. [
  44. '02:29:00 PM',
  45. 43270.603472222,
  46. 'hh:mm:ss\ AM/PM',
  47. ],
  48. [
  49. '8/20/2018',
  50. 43332,
  51. '[$-409]m/d/yyyy',
  52. ],
  53. [
  54. '8/20/2018',
  55. 43332,
  56. '[$-1010409]m/d/yyyy',
  57. ],
  58. [
  59. '27:15',
  60. 1.1354166666667,
  61. '[h]:mm',
  62. ],
  63. [
  64. '19331018',
  65. 12345.6789,
  66. '[DBNum4][$-804]yyyymmdd;@',
  67. ],
  68. // Technically should be 19331018
  69. [
  70. '19331018',
  71. 12345.6789,
  72. '[DBNum3][$-zh-CN]yyyymmdd;@',
  73. ],
  74. 'hour with leading 0 and minute' => [
  75. '03:36',
  76. 1.15,
  77. 'hh:mm',
  78. ],
  79. 'hour without leading 0 and minute' => [
  80. '3:36',
  81. 1.15,
  82. 'h:mm',
  83. ],
  84. 'hour truncated not rounded' => [
  85. '27',
  86. 1.15,
  87. '[hh]',
  88. ],
  89. 'interval hour > 10 so no need for leading 0 and minute' => [
  90. '27:36',
  91. 1.15,
  92. '[hh]:mm',
  93. ],
  94. 'interval hour > 10 no leading 0 and minute' => [
  95. '27:36',
  96. 1.15,
  97. '[h]:mm',
  98. ],
  99. 'interval hour with leading 0 and minute' => [
  100. '03:36',
  101. 0.15,
  102. '[hh]:mm',
  103. ],
  104. 'interval hour no leading 0 and minute' => [
  105. '3:36',
  106. 0.15,
  107. '[h]:mm',
  108. ],
  109. 'interval hours > 100 and minutes no need for leading 0' => [
  110. '123:36',
  111. 5.15,
  112. '[hh]:mm',
  113. ],
  114. 'interval hours > 100 and minutes no leading 0' => [
  115. '123:36',
  116. 5.15,
  117. '[h]:mm',
  118. ],
  119. 'interval minutes > 10 no need for leading 0' => [
  120. '1656',
  121. 1.15,
  122. '[mm]',
  123. ],
  124. 'interval minutes > 10 no leading 0' => [
  125. '1656',
  126. 1.15,
  127. '[m]',
  128. ],
  129. 'interval minutes < 10 leading 0' => [
  130. '07',
  131. 0.005,
  132. '[mm]',
  133. ],
  134. 'interval minutes < 10 no leading 0' => [
  135. '7',
  136. 0.005,
  137. '[m]',
  138. ],
  139. 'interval minutes and seconds' => [
  140. '07:12',
  141. 0.005,
  142. '[mm]:ss',
  143. ],
  144. 'interval seconds' => [
  145. '432',
  146. 0.005,
  147. '[ss]',
  148. ],
  149. 'interval seconds rounded up leading 0' => [
  150. '09',
  151. 0.0001,
  152. '[ss]',
  153. ],
  154. 'interval seconds rounded up no leading 0' => [
  155. '9',
  156. 0.0001,
  157. '[s]',
  158. ],
  159. 'interval seconds rounded down' => [
  160. '6',
  161. 0.00007,
  162. '[s]',
  163. ],
  164. ];