Zend_Date-Constants.xml 69 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Reviewed: no -->
  3. <sect1 id="zend.date.constants">
  4. <title>Constants for General Date Functions</title>
  5. <para>
  6. Whenever a <classname>Zend_Date</classname> method has a <code>$parts</code> parameter, one of the constants below can be
  7. used as the argument for that parameter, in order to select a specific part of a date or indicate the date
  8. format used or desired (e.g. RFC 822).
  9. </para>
  10. <sect2 id="zend.date.constants.using">
  11. <title>Using Constants</title>
  12. <para>
  13. For example, the constant <classname>Zend_Date::HOUR</classname> can be used in the ways shown below. When working
  14. with days of the week, calendar dates, hours, minutes, seconds, and any other date parts that are expressed
  15. differently when in different parts of the world, the object's timezone will automatically be used to
  16. compute the correct value, even though the internal timestamp is the same for the same moment in time,
  17. regardless of the user's physical location in the world. Regardless of the units involved, output must be
  18. expressed either as GMT/UTC or localized to a locale. The example output below reflects localization to
  19. Europe/GMT+1 hour (e.g. Germany, Austria, France).
  20. </para>
  21. <table id="zend.date.constants.using.table">
  22. <title>Operations Involving Zend_Date::HOUR</title>
  23. <tgroup cols="4">
  24. <thead>
  25. <row>
  26. <entry>Function/input</entry>
  27. <entry>Description</entry>
  28. <entry>Original date</entry>
  29. <entry>Effect/output</entry>
  30. </row>
  31. </thead>
  32. <tbody>
  33. <row>
  34. <entry>get(Zend_Date::HOUR)</entry>
  35. <entry>Output of the hour</entry>
  36. <entry>2009-02-13T14:53:27+01:00</entry>
  37. <entry>14</entry>
  38. </row>
  39. <row>
  40. <entry>set(12, Zend_Date::HOUR)</entry>
  41. <entry>Set new hour</entry>
  42. <entry>2009-02-13T14:53:27+01:00</entry>
  43. <entry>2009-02-13T12:53:27+01:00</entry>
  44. </row>
  45. <row>
  46. <entry>add(12, Zend_Date::HOUR)</entry>
  47. <entry>Add hours</entry>
  48. <entry>2009-02-13T14:53:27+01:00</entry>
  49. <entry>2009-02-14T02:53:27+01:00</entry>
  50. </row>
  51. <row>
  52. <entry>sub(12, Zend_Date::HOUR)</entry>
  53. <entry>Subtract hours</entry>
  54. <entry>2009-02-13T14:53:27+01:00</entry>
  55. <entry>2009-02-13T02:53:27+01:00</entry>
  56. </row>
  57. <row>
  58. <entry>compare(12, Zend_Date::HOUR)</entry>
  59. <entry>Compare hour, returns 0, 1 or -1</entry>
  60. <entry>2009-02-13T14:53:27+01:00</entry>
  61. <entry>1 (if object > argument)</entry>
  62. </row>
  63. <row>
  64. <entry>copy(Zend_Date::HOUR)</entry>
  65. <entry>Copies only the hour part</entry>
  66. <entry>2009-02-13T14:53:27+01:00</entry>
  67. <entry>1970-01-01T14:00:00+01:00</entry>
  68. </row>
  69. <row>
  70. <entry>equals(14, Zend_Date::HOUR)</entry>
  71. <entry>Compares the hour, returns TRUE or FALSE</entry>
  72. <entry>2009-02-13T14:53:27+01:00</entry>
  73. <entry>TRUE</entry>
  74. </row>
  75. <row>
  76. <entry>isEarlier(12, Zend_Date::HOUR)</entry>
  77. <entry>Compares the hour, returns TRUE or FALSE</entry>
  78. <entry>2009-02-13T14:53:27+01:00</entry>
  79. <entry>TRUE</entry>
  80. </row>
  81. <row>
  82. <entry>isLater(12, Zend_Date::HOUR)</entry>
  83. <entry>Compares the hour, returns TRUE or FALSE</entry>
  84. <entry>2009-02-13T14:53:27+01:00</entry>
  85. <entry>FALSE</entry>
  86. </row>
  87. </tbody>
  88. </tgroup>
  89. </table>
  90. </sect2>
  91. <sect2 id="zend.date.constants.list">
  92. <title>List of All Constants</title>
  93. <para>
  94. Each part of a date/time has a unique constant in <classname>Zend_Date</classname>. All constants supported by
  95. <classname>Zend_Date</classname> are listed below.
  96. </para>
  97. <table id="zend.date.constants.list.table-1">
  98. <title>Day Constants</title>
  99. <tgroup cols="4">
  100. <thead>
  101. <row>
  102. <entry>Constant</entry>
  103. <entry>Description</entry>
  104. <entry>Date</entry>
  105. <entry>Affected part/example</entry>
  106. </row>
  107. </thead>
  108. <tbody>
  109. <row>
  110. <entry>Zend_Date::DAY</entry>
  111. <entry>Day (as a number, two digit)</entry>
  112. <entry>2009-02-06T14:53:27+01:00</entry>
  113. <entry>2009-02-<emphasis role="strong">06</emphasis>T14:53:27+01:00 (06)</entry>
  114. </row>
  115. <row>
  116. <entry>Zend_Date::DAY_SHORT</entry>
  117. <entry>Day (as a number, one or two digit)</entry>
  118. <entry>2009-02-06T14:53:27+01:00</entry>
  119. <entry>2009-02-0<emphasis role="strong">6</emphasis>T14:53:27+01:00 (6)</entry>
  120. </row>
  121. <row>
  122. <entry>Zend_Date::WEEKDAY</entry>
  123. <entry>Weekday (Name of the day, localized, complete)</entry>
  124. <entry>2009-02-06T14:53:27+01:00</entry>
  125. <entry><emphasis role="strong">Friday</emphasis>
  126. </entry>
  127. </row>
  128. <row>
  129. <entry>Zend_Date::WEEKDAY_SHORT</entry>
  130. <entry>Weekday (Name of the day, localized, abbreviated, the first three digits)</entry>
  131. <entry>2009-02-06T14:53:27+01:00</entry>
  132. <entry><emphasis role="strong">Fri</emphasis> for Friday</entry>
  133. </row>
  134. <row>
  135. <entry>Zend_Date::WEEKDAY_NAME</entry>
  136. <entry>Weekday (Name of the day, localized, abbreviated, the first two digits)</entry>
  137. <entry>2009-02-06T14:53:27+01:00</entry>
  138. <entry><emphasis role="strong">Fr</emphasis> for Friday</entry>
  139. </row>
  140. <row>
  141. <entry>Zend_Date::WEEKDAY_NARROW</entry>
  142. <entry>Weekday (Name of the day, localized, abbreviated, only the first digit)</entry>
  143. <entry>2009-02-06T14:53:27+01:00</entry>
  144. <entry><emphasis role="strong">F</emphasis> for Friday</entry>
  145. </row>
  146. <row>
  147. <entry>Zend_Date::WEEKDAY_DIGIT</entry>
  148. <entry>Weekday (0 = Sunday, 6 = Saturday)</entry>
  149. <entry>2009-02-06T14:53:27+01:00</entry>
  150. <entry><emphasis role="strong">5</emphasis> for Friday</entry>
  151. </row>
  152. <row>
  153. <entry>Zend_Date::WEEKDAY_8601</entry>
  154. <entry>Weekday according to ISO 8601 (1 = Monday, 7 = Sunday)</entry>
  155. <entry>2009-02-06T14:53:27+01:00</entry>
  156. <entry><emphasis role="strong">5</emphasis> for Friday</entry>
  157. </row>
  158. <row>
  159. <entry>Zend_Date::DAY_OF_YEAR</entry>
  160. <entry>Day (as a number, one or two digit)</entry>
  161. <entry>2009-02-06T14:53:27+01:00</entry>
  162. <entry><emphasis role="strong">43</emphasis>
  163. </entry>
  164. </row>
  165. <row>
  166. <entry>Zend_Date::DAY_SUFFIX</entry>
  167. <entry>English addendum for the day (st, nd, rd, th)</entry>
  168. <entry>2009-02-06T14:53:27+01:00</entry>
  169. <entry><emphasis role="strong">th</emphasis>
  170. </entry>
  171. </row>
  172. </tbody>
  173. </tgroup>
  174. </table>
  175. <table id="zend.date.constants.list.table-2">
  176. <title>Week Constants</title>
  177. <tgroup cols="4">
  178. <thead>
  179. <row>
  180. <entry>Constant</entry>
  181. <entry>Description</entry>
  182. <entry>Date</entry>
  183. <entry>Affected part/example</entry>
  184. </row>
  185. </thead>
  186. <tbody>
  187. <row>
  188. <entry>Zend_Date::WEEK</entry>
  189. <entry>Week (as a number, 1-53)</entry>
  190. <entry>2009-02-06T14:53:27+01:00</entry>
  191. <entry><emphasis role="strong">7</emphasis>
  192. </entry>
  193. </row>
  194. </tbody>
  195. </tgroup>
  196. </table>
  197. <table id="zend.date.constants.list.table-3">
  198. <title>Month Constants</title>
  199. <tgroup cols="4">
  200. <thead>
  201. <row>
  202. <entry>Constant</entry>
  203. <entry>Description</entry>
  204. <entry>Date</entry>
  205. <entry>Affected part/example</entry>
  206. </row>
  207. </thead>
  208. <tbody>
  209. <row>
  210. <entry>Zend_Date::MONTH_NAME</entry>
  211. <entry>Month (Name of the month, localized, complete)</entry>
  212. <entry>2009-02-06T14:53:27+01:00</entry>
  213. <entry><emphasis role="strong">February</emphasis>
  214. </entry>
  215. </row>
  216. <row>
  217. <entry>Zend_Date::MONTH_NAME_SHORT</entry>
  218. <entry>Month (Name of the month, localized, abbreviated, three digit)</entry>
  219. <entry>2009-02-06T14:53:27+01:00</entry>
  220. <entry><emphasis role="strong">Feb</emphasis>
  221. </entry>
  222. </row>
  223. <row>
  224. <entry>Zend_Date::MONTH_NAME_NARROW</entry>
  225. <entry>Month (Name of the month, localized, abbreviated, one digit)</entry>
  226. <entry>2009-02-06T14:53:27+01:00</entry>
  227. <entry><emphasis role="strong">F</emphasis>
  228. </entry>
  229. </row>
  230. <row>
  231. <entry>Zend_Date::MONTH</entry>
  232. <entry>Month (Number of the month, two digit)</entry>
  233. <entry>2009-02-06T14:53:27+01:00</entry>
  234. <entry>2009-<emphasis role="strong">02</emphasis>-06T14:53:27+01:00 (02)</entry>
  235. </row>
  236. <row>
  237. <entry>Zend_Date::MONTH_SHORT</entry>
  238. <entry>Month (Number of the month, one or two digit)</entry>
  239. <entry>2009-02-06T14:53:27+01:00</entry>
  240. <entry>2009-0<emphasis role="strong">2</emphasis>-06T14:53:27+01:00 (2)</entry>
  241. </row>
  242. <row>
  243. <entry>Zend_Date::MONTH_DAYS</entry>
  244. <entry>Number of days for this month (number)</entry>
  245. <entry>2009-02-06T14:53:27+01:00</entry>
  246. <entry><emphasis role="strong">28</emphasis>
  247. </entry>
  248. </row>
  249. </tbody>
  250. </tgroup>
  251. </table>
  252. <table id="zend.date.constants.list.table-4">
  253. <title>Year Constants</title>
  254. <tgroup cols="4">
  255. <thead>
  256. <row>
  257. <entry>Constant</entry>
  258. <entry>Description</entry>
  259. <entry>Date</entry>
  260. <entry>Affected part/example</entry>
  261. </row>
  262. </thead>
  263. <tbody>
  264. <row>
  265. <entry>Zend_Date::YEAR</entry>
  266. <entry>Year (number)</entry>
  267. <entry>2009-02-06T14:53:27+01:00</entry>
  268. <entry><emphasis role="strong">2009</emphasis>-02-06T14:53:27+01:00</entry>
  269. </row>
  270. <row>
  271. <entry>Zend_Date::YEAR_8601</entry>
  272. <entry>Year according to ISO 8601 (number)</entry>
  273. <entry>2009-02-06T14:53:27+01:00</entry>
  274. <entry><emphasis role="strong">2009</emphasis>
  275. </entry>
  276. </row>
  277. <row>
  278. <entry>Zend_Date::YEAR_SHORT</entry>
  279. <entry>Year (number, two digit)</entry>
  280. <entry>2009-02-06T14:53:27+01:00</entry>
  281. <entry>20<emphasis role="strong">09</emphasis>-02-06T14:53:27+01:00</entry>
  282. </row>
  283. <row>
  284. <entry>Zend_Date::YEAR_SHORT_8601</entry>
  285. <entry>Year according to ISO 8601 (number, two digit)</entry>
  286. <entry>2009-02-06T14:53:27+01:00</entry>
  287. <entry><emphasis role="strong">09</emphasis>
  288. </entry>
  289. </row>
  290. <row>
  291. <entry>Zend_Date::LEAPYEAR</entry>
  292. <entry>Is the year a leap year? (TRUE or FALSE)</entry>
  293. <entry>2009-02-06T14:53:27+01:00</entry>
  294. <entry><emphasis role="strong">FALSE</emphasis>
  295. </entry>
  296. </row>
  297. </tbody>
  298. </tgroup>
  299. </table>
  300. <table id="zend.date.constants.list.table-5">
  301. <title>Time Constants</title>
  302. <tgroup cols="4">
  303. <thead>
  304. <row>
  305. <entry>Constant</entry>
  306. <entry>Description</entry>
  307. <entry>Date</entry>
  308. <entry>Affected part/example</entry>
  309. </row>
  310. </thead>
  311. <tbody>
  312. <row>
  313. <entry>Zend_Date::HOUR</entry>
  314. <entry>Hour (00-23, two digit)</entry>
  315. <entry>2009-02-06T14:53:27+01:00</entry>
  316. <entry><emphasis role="strong">14</emphasis>
  317. </entry>
  318. </row>
  319. <row>
  320. <entry>Zend_Date::HOUR_SHORT</entry>
  321. <entry>Hour (0-23, one or two digit)</entry>
  322. <entry>2009-02-06T14:53:27+01:00</entry>
  323. <entry><emphasis role="strong">14</emphasis>
  324. </entry>
  325. </row>
  326. <row>
  327. <entry>Zend_Date::HOUR_SHORT_AM</entry>
  328. <entry>Hour (1-12, one or two digit)</entry>
  329. <entry>2009-02-06T14:53:27+01:00</entry>
  330. <entry><emphasis role="strong">2</emphasis>
  331. </entry>
  332. </row>
  333. <row>
  334. <entry>Zend_Date::HOUR_AM</entry>
  335. <entry>Hour (01-12, two digit)</entry>
  336. <entry>2009-02-06T14:53:27+01:00</entry>
  337. <entry><emphasis role="strong">02</emphasis>
  338. </entry>
  339. </row>
  340. <row>
  341. <entry>Zend_Date::MINUTE</entry>
  342. <entry>Minute (00-59, two digit)</entry>
  343. <entry>2009-02-06T14:53:27+01:00</entry>
  344. <entry>2009-02-06T14:<emphasis role="strong">53</emphasis>:27+01:00</entry>
  345. </row>
  346. <row>
  347. <entry>Zend_Date::MINUTE_SHORT</entry>
  348. <entry>Minute (0-59, one or two digit)</entry>
  349. <entry>2009-02-06T14:03:27+01:00</entry>
  350. <entry>2009-02-06T14:0<emphasis role="strong">3</emphasis>:27+01:00</entry>
  351. </row>
  352. <row>
  353. <entry>Zend_Date::SECOND</entry>
  354. <entry>Second (00-59, two digit)</entry>
  355. <entry>2009-02-06T14:53:27+01:00</entry>
  356. <entry>2009-02-06T14:53:<emphasis role="strong">27</emphasis>+01:00</entry>
  357. </row>
  358. <row>
  359. <entry>Zend_Date::SECOND_SHORT</entry>
  360. <entry>Second (0-59, one or two digit)</entry>
  361. <entry>2009-02-06T14:53:07+01:00</entry>
  362. <entry>2009-02-06T14:53:0<emphasis role="strong">7</emphasis>+01:00</entry>
  363. </row>
  364. <row>
  365. <entry>Zend_Date::MILLISECOND</entry>
  366. <entry>Millisecond (theoretically infinite)</entry>
  367. <entry>2009-02-06T14:53:27.20546</entry>
  368. <entry>2009-02-06T14:53:27.<emphasis role="strong">20546</emphasis>
  369. </entry>
  370. </row>
  371. <row>
  372. <entry>Zend_Date::MERIDIEM</entry>
  373. <entry>Time of day (forenoon/afternoon)</entry>
  374. <entry>2009-02-06T14:53:27+01:00</entry>
  375. <entry><emphasis role="strong">afternoon</emphasis>
  376. </entry>
  377. </row>
  378. <row>
  379. <entry>Zend_Date::SWATCH</entry>
  380. <entry>Swatch Internet Time</entry>
  381. <entry>2009-02-06T14:53:27+01:00</entry>
  382. <entry><emphasis role="strong">620</emphasis>
  383. </entry>
  384. </row>
  385. </tbody>
  386. </tgroup>
  387. </table>
  388. <table id="zend.date.constants.list.table-6">
  389. <title>Timezone Constants</title>
  390. <tgroup cols="4">
  391. <thead>
  392. <row>
  393. <entry>Constant</entry>
  394. <entry>Description</entry>
  395. <entry>Date</entry>
  396. <entry>Affected part/example</entry>
  397. </row>
  398. </thead>
  399. <tbody>
  400. <row>
  401. <entry>Zend_Date::TIMEZONE</entry>
  402. <entry>Name der time zone (string, abbreviated)</entry>
  403. <entry>2009-02-06T14:53:27+01:00</entry>
  404. <entry><emphasis role="strong">CET</emphasis>
  405. </entry>
  406. </row>
  407. <row>
  408. <entry>Zend_Date::TIMEZONE_NAME</entry>
  409. <entry>Name of the time zone (string, complete)</entry>
  410. <entry>2009-02-06T14:53:27+01:00</entry>
  411. <entry><emphasis role="strong">Europe/Paris</emphasis>
  412. </entry>
  413. </row>
  414. <row>
  415. <entry>Zend_Date::TIMEZONE_SECS</entry>
  416. <entry>Difference of the time zone to GMT in seconds (integer)</entry>
  417. <entry>2009-02-06T14:53:27+01:00</entry>
  418. <entry><emphasis role="strong">3600</emphasis> seconds to GMT</entry>
  419. </row>
  420. <row>
  421. <entry>Zend_Date::GMT_DIFF</entry>
  422. <entry>Difference to GMT in seconds (string)</entry>
  423. <entry>2009-02-06T14:53:27+01:00</entry>
  424. <entry><emphasis role="strong">+0100</emphasis>
  425. </entry>
  426. </row>
  427. <row>
  428. <entry>Zend_Date::GMT_DIFF_SEP</entry>
  429. <entry>Difference to GMT in seconds (string, separated)</entry>
  430. <entry>2009-02-06T14:53:27+01:00</entry>
  431. <entry><emphasis role="strong">+01:00</emphasis>
  432. </entry>
  433. </row>
  434. <row>
  435. <entry>Zend_Date::DAYLIGHT</entry>
  436. <entry>Summer time or Winter time? (TRUE or FALSE)</entry>
  437. <entry>2009-02-06T14:53:27+01:00</entry>
  438. <entry><emphasis role="strong">FALSE</emphasis>
  439. </entry>
  440. </row>
  441. </tbody>
  442. </tgroup>
  443. </table>
  444. <table id="zend.date.constants.list.table-7">
  445. <title>Date Format Constants (formats include timezone)</title>
  446. <tgroup cols="4">
  447. <thead>
  448. <row>
  449. <entry>Constant</entry>
  450. <entry>Description</entry>
  451. <entry>Date</entry>
  452. <entry>Affected part/example</entry>
  453. </row>
  454. </thead>
  455. <tbody>
  456. <row>
  457. <entry>Zend_Date::ISO_8601</entry>
  458. <entry>Date according to ISO 8601 (string, complete)</entry>
  459. <entry>2009-02-13T14:53:27+01:00</entry>
  460. <entry><emphasis role="strong">2009-02-13T14:53:27+01:00</emphasis>
  461. </entry>
  462. </row>
  463. <row>
  464. <entry>Zend_Date::RFC_2822</entry>
  465. <entry>Date according to RFC 2822 (string)</entry>
  466. <entry>2009-02-13T14:53:27+01:00</entry>
  467. <entry><emphasis role="strong">Fri, 13 Feb 2009 14:53:27 +0100</emphasis>
  468. </entry>
  469. </row>
  470. <row>
  471. <entry>Zend_Date::TIMESTAMP</entry>
  472. <entry>
  473. <ulink url="http://en.wikipedia.org/wiki/Unix_Time">Unix time</ulink> (seconds since 1.1.1970, mixed)</entry>
  474. <entry>2009-02-13T14:53:27+01:00</entry>
  475. <entry><emphasis role="strong">1234533207</emphasis>
  476. </entry>
  477. </row>
  478. <row>
  479. <entry>Zend_Date::ATOM</entry>
  480. <entry>Date according to ATOM (string)</entry>
  481. <entry>2009-02-13T14:53:27+01:00</entry>
  482. <entry><emphasis role="strong">2009-02-13T14:53:27+01:00</emphasis>
  483. </entry>
  484. </row>
  485. <row>
  486. <entry>Zend_Date::COOKIE</entry>
  487. <entry>Date for Cookies (string, for Cookies)</entry>
  488. <entry>2009-02-13T14:53:27+01:00</entry>
  489. <entry><emphasis role="strong">Friday, 13-Feb-09 14:53:27 Europe/Paris</emphasis>
  490. </entry>
  491. </row>
  492. <row>
  493. <entry>Zend_Date::RFC_822</entry>
  494. <entry>Date according to RFC 822 (string)</entry>
  495. <entry>2009-02-13T14:53:27+01:00</entry>
  496. <entry><emphasis role="strong">Fri, 13 Feb 09 14:53:27 +0100</emphasis>
  497. </entry>
  498. </row>
  499. <row>
  500. <entry>Zend_Date::RFC_850</entry>
  501. <entry>Date according to RFC 850 (string)</entry>
  502. <entry>2009-02-13T14:53:27+01:00</entry>
  503. <entry><emphasis role="strong">Friday, 13-Feb-09 14:53:27 Europe/Paris</emphasis>
  504. </entry>
  505. </row>
  506. <row>
  507. <entry>Zend_Date::RFC_1036</entry>
  508. <entry>Date according to RFC 1036 (string)</entry>
  509. <entry>2009-02-13T14:53:27+01:00</entry>
  510. <entry><emphasis role="strong">Fri, 13 Feb 09 14:53:27 +0100</emphasis>
  511. </entry>
  512. </row>
  513. <row>
  514. <entry>Zend_Date::RFC_1123</entry>
  515. <entry>Date according to RFC 1123 (string)</entry>
  516. <entry>2009-02-13T14:53:27+01:00</entry>
  517. <entry><emphasis role="strong">Fri, 13 Feb 2009 14:53:27 +0100</emphasis>
  518. </entry>
  519. </row>
  520. <row>
  521. <entry>Zend_Date::RSS</entry>
  522. <entry>Date for RSS Feeds (string)</entry>
  523. <entry>2009-02-13T14:53:27+01:00</entry>
  524. <entry><emphasis role="strong">Fri, 13 Feb 2009 14:53:27 +0100</emphasis>
  525. </entry>
  526. </row>
  527. <row>
  528. <entry>Zend_Date::W3C</entry>
  529. <entry>Date for HTML/HTTP according to W3C (string)</entry>
  530. <entry>2009-02-13T14:53:27+01:00</entry>
  531. <entry><emphasis role="strong">2009-02-13T14:53:27+01:00</emphasis>
  532. </entry>
  533. </row>
  534. </tbody>
  535. </tgroup>
  536. </table>
  537. <para>
  538. Especially note <classname>Zend_Date::DATES</classname>, since this format specifier has a unique property within
  539. <classname>Zend_Date</classname> as an <emphasis role="strong">input</emphasis> format specifier. When used as an
  540. input format for <code>$part</code>, this constant provides the most flexible acceptance of a variety of
  541. similar date formats. Heuristics are used to automatically extract dates from an input string and then "fix"
  542. simple errors in dates (if any), such as swapping of years, months, and days, when possible.
  543. </para>
  544. <table id="zend.date.constants.list.table-8">
  545. <title>Date and Time Formats (format varies by locale)</title>
  546. <tgroup cols="4">
  547. <thead>
  548. <row>
  549. <entry>Constant</entry>
  550. <entry>Description</entry>
  551. <entry>Date</entry>
  552. <entry>Affected part/example</entry>
  553. </row>
  554. </thead>
  555. <tbody>
  556. <row>
  557. <entry>Zend_Date::ERA</entry>
  558. <entry>Epoch (string, localized, abbreviated)</entry>
  559. <entry>2009-02-06T14:53:27+01:00</entry>
  560. <entry><emphasis role="strong">AD</emphasis> (anno Domini)</entry>
  561. </row>
  562. <row>
  563. <entry>Zend_Date::ERA_NAME</entry>
  564. <entry>Epoch (string, localized, complete)</entry>
  565. <entry>2009-02-06T14:53:27+01:00</entry>
  566. <entry><emphasis role="strong">anno domini</emphasis> (anno Domini)</entry>
  567. </row>
  568. <row>
  569. <entry><emphasis role="strong">Zend_Date::DATES</emphasis>
  570. </entry>
  571. <entry>Standard date (string, localized, default value).</entry>
  572. <entry>2009-02-13T14:53:27+01:00</entry>
  573. <entry><emphasis role="strong">13.02.2009</emphasis>
  574. </entry>
  575. </row>
  576. <row>
  577. <entry>Zend_Date::DATE_FULL</entry>
  578. <entry>Complete date (string, localized, complete)</entry>
  579. <entry>2009-02-13T14:53:27+01:00</entry>
  580. <entry><emphasis role="strong">Friday, 13. February 2009</emphasis>
  581. </entry>
  582. </row>
  583. <row>
  584. <entry>Zend_Date::DATE_LONG</entry>
  585. <entry>Long date (string, localized, long)</entry>
  586. <entry>2009-02-13T14:53:27+01:00</entry>
  587. <entry><emphasis role="strong">13. February 2009</emphasis>
  588. </entry>
  589. </row>
  590. <row>
  591. <entry>Zend_Date::DATE_MEDIUM</entry>
  592. <entry>Normal date (string, localized, normal)</entry>
  593. <entry>2009-02-13T14:53:27+01:00</entry>
  594. <entry><emphasis role="strong">13.02.2009</emphasis>
  595. </entry>
  596. </row>
  597. <row>
  598. <entry>Zend_Date::DATE_SHORT</entry>
  599. <entry>Abbreviated Date (string, localized, abbreviated)</entry>
  600. <entry>2009-02-13T14:53:27+01:00</entry>
  601. <entry><emphasis role="strong">13.02.09</emphasis>
  602. </entry>
  603. </row>
  604. <row>
  605. <entry>Zend_Date::TIMES</entry>
  606. <entry>Standard time (string, localized, default value)</entry>
  607. <entry>2009-02-13T14:53:27+01:00</entry>
  608. <entry><emphasis role="strong">14:53:27</emphasis>
  609. </entry>
  610. </row>
  611. <row>
  612. <entry>Zend_Date::TIME_FULL</entry>
  613. <entry>Complete time (string, localized, complete)</entry>
  614. <entry>2009-02-13T14:53:27+01:00</entry>
  615. <entry><emphasis role="strong">14:53 Uhr CET</emphasis>
  616. </entry>
  617. </row>
  618. <row>
  619. <entry>Zend_Date::TIME_LONG</entry>
  620. <entry>Long time (string, localized, Long)</entry>
  621. <entry>2009-02-13T14:53:27+01:00</entry>
  622. <entry><emphasis role="strong">14:53:27 CET</emphasis>
  623. </entry>
  624. </row>
  625. <row>
  626. <entry>Zend_Date::TIME_MEDIUM</entry>
  627. <entry>Normal time (string, localized, normal)</entry>
  628. <entry>2009-02-13T14:53:27+01:00</entry>
  629. <entry><emphasis role="strong">14:53:27</emphasis>
  630. </entry>
  631. </row>
  632. <row>
  633. <entry>Zend_Date::TIME_SHORT</entry>
  634. <entry>Abbreviated time (string, localized, abbreviated)</entry>
  635. <entry>2009-02-13T14:53:27+01:00</entry>
  636. <entry><emphasis role="strong">14:53</emphasis>
  637. </entry>
  638. </row>
  639. </tbody>
  640. </tgroup>
  641. </table>
  642. </sect2>
  643. <sect2 id="zend.date.constants.selfdefinedformats">
  644. <title>Self-Defined OUTPUT Formats with ISO</title>
  645. <para>
  646. If you need a date format not shown above, then use a self-defined format composed from the ISO format token
  647. specifiers below. The following examples illustrate the usage of constants from the table below to create
  648. self-defined ISO formats. The format length is unlimited. Also, multiple usage of format constants is
  649. allowed.
  650. </para>
  651. <para>
  652. The accepted format specifiers can be changed from ISO Format to PHP's date format if you are more
  653. comfortable with it. However, not all formats defined in the ISO norm are supported with PHP's date format
  654. specifiers. Use the <classname>Zend_Date::setOptions(array('format_type' => 'php'))</classname> method to switch
  655. Zend_Date methods from supporting ISO format specifiers to PHP date() type specifiers (see
  656. <xref linkend="zend.date.constants.phpformats" />
  657. below).
  658. </para>
  659. <example id="zend.date.constants.selfdefinedformats.example-1">
  660. <title>Self-Defined ISO Formats</title>
  661. <programlisting role="php"><![CDATA[
  662. $locale = new Zend_Locale('de_AT');
  663. $date = new Zend_Date(1234567890, false, $locale);
  664. print $date->toString("'Era:GGGG='GGGG, ' Date:yy.MMMM.dd'yy.MMMM.dd");
  665. ]]></programlisting>
  666. </example>
  667. <table id="zend.date.constants.selfdefinedformats.table">
  668. <title>Constants for ISO 8601 Date Output</title>
  669. <tgroup cols="4">
  670. <thead>
  671. <row>
  672. <entry>Constant</entry>
  673. <entry>Description</entry>
  674. <entry>Corresponds best to</entry>
  675. <entry>Affected part/example</entry>
  676. </row>
  677. </thead>
  678. <tbody>
  679. <row>
  680. <entry>G</entry>
  681. <entry>Epoch, localized, abbreviated</entry>
  682. <entry>Zend_Date::ERA</entry>
  683. <entry><emphasis role="strong">AD</emphasis>
  684. </entry>
  685. </row>
  686. <row>
  687. <entry>GG</entry>
  688. <entry>Epoch, localized, abbreviated</entry>
  689. <entry>Zend_Date::ERA</entry>
  690. <entry><emphasis role="strong">AD</emphasis>
  691. </entry>
  692. </row>
  693. <row>
  694. <entry>GGG</entry>
  695. <entry>Epoch, localized, abbreviated</entry>
  696. <entry>Zend_Date::ERA</entry>
  697. <entry><emphasis role="strong">AD</emphasis>
  698. </entry>
  699. </row>
  700. <row>
  701. <entry>GGGG</entry>
  702. <entry>Epoch, localized, complete</entry>
  703. <entry>Zend_Date::ERA_NAME</entry>
  704. <entry><emphasis role="strong">anno domini</emphasis>
  705. </entry>
  706. </row>
  707. <row>
  708. <entry>GGGGG</entry>
  709. <entry>Epoch, localized, abbreviated</entry>
  710. <entry>Zend_Date::ERA</entry>
  711. <entry><emphasis role="strong">a</emphasis>
  712. </entry>
  713. </row>
  714. <row>
  715. <entry>y</entry>
  716. <entry>Year, at least one digit</entry>
  717. <entry>Zend_Date::YEAR</entry>
  718. <entry><emphasis role="strong">9</emphasis>
  719. </entry>
  720. </row>
  721. <row>
  722. <entry>yy</entry>
  723. <entry>Year, at least two digit</entry>
  724. <entry>Zend_Date::YEAR_SHORT</entry>
  725. <entry><emphasis role="strong">09</emphasis>
  726. </entry>
  727. </row>
  728. <row>
  729. <entry>yyy</entry>
  730. <entry>Year, at least three digit</entry>
  731. <entry>Zend_Date::YEAR</entry>
  732. <entry><emphasis role="strong">2009</emphasis>
  733. </entry>
  734. </row>
  735. <row>
  736. <entry>yyyy</entry>
  737. <entry>Year, at least four digit</entry>
  738. <entry>Zend_Date::YEAR</entry>
  739. <entry><emphasis role="strong">2009</emphasis>
  740. </entry>
  741. </row>
  742. <row>
  743. <entry>yyyyy</entry>
  744. <entry>Year, at least five digit</entry>
  745. <entry>Zend_Date::YEAR</entry>
  746. <entry><emphasis role="strong">02009</emphasis>
  747. </entry>
  748. </row>
  749. <row>
  750. <entry>Y</entry>
  751. <entry>Year according to ISO 8601, at least one digit</entry>
  752. <entry>Zend_Date::YEAR_8601</entry>
  753. <entry><emphasis role="strong">9</emphasis>
  754. </entry>
  755. </row>
  756. <row>
  757. <entry>YY</entry>
  758. <entry>Year according to ISO 8601, at least two digit</entry>
  759. <entry>Zend_Date::YEAR_SHORT_8601</entry>
  760. <entry><emphasis role="strong">09</emphasis>
  761. </entry>
  762. </row>
  763. <row>
  764. <entry>YYY</entry>
  765. <entry>Year according to ISO 8601, at least three digit</entry>
  766. <entry>Zend_Date::YEAR_8601</entry>
  767. <entry><emphasis role="strong">2009</emphasis>
  768. </entry>
  769. </row>
  770. <row>
  771. <entry>YYYY</entry>
  772. <entry>Year according to ISO 8601, at least four digit</entry>
  773. <entry>Zend_Date::YEAR_8601</entry>
  774. <entry><emphasis role="strong">2009</emphasis>
  775. </entry>
  776. </row>
  777. <row>
  778. <entry>YYYYY</entry>
  779. <entry>Year according to ISO 8601, at least five digit</entry>
  780. <entry>Zend_Date::YEAR_8601</entry>
  781. <entry><emphasis role="strong">02009</emphasis>
  782. </entry>
  783. </row>
  784. <row>
  785. <entry>M</entry>
  786. <entry>Month, one or two digit</entry>
  787. <entry>Zend_Date::MONTH_SHORT</entry>
  788. <entry><emphasis role="strong">2</emphasis>
  789. </entry>
  790. </row>
  791. <row>
  792. <entry>MM</entry>
  793. <entry>Month, two digit</entry>
  794. <entry>Zend_Date::MONTH</entry>
  795. <entry><emphasis role="strong">02</emphasis>
  796. </entry>
  797. </row>
  798. <row>
  799. <entry>MMM</entry>
  800. <entry>Month, localized, abbreviated</entry>
  801. <entry>Zend_Date::MONTH_NAME_SHORT</entry>
  802. <entry><emphasis role="strong">Feb</emphasis>
  803. </entry>
  804. </row>
  805. <row>
  806. <entry>MMMM</entry>
  807. <entry>Month, localized, complete</entry>
  808. <entry>Zend_Date::MONTH_NAME</entry>
  809. <entry><emphasis role="strong">February</emphasis>
  810. </entry>
  811. </row>
  812. <row>
  813. <entry>MMMMM</entry>
  814. <entry>Month, localized, abbreviated, one digit</entry>
  815. <entry>Zend_Date::MONTH_NAME_NARROW</entry>
  816. <entry><emphasis role="strong">F</emphasis>
  817. </entry>
  818. </row>
  819. <row>
  820. <entry>w</entry>
  821. <entry>Week, one or two digit</entry>
  822. <entry>Zend_Date::WEEK</entry>
  823. <entry><emphasis role="strong">5</emphasis>
  824. </entry>
  825. </row>
  826. <row>
  827. <entry>ww</entry>
  828. <entry>Week, two digit</entry>
  829. <entry>Zend_Date::WEEK</entry>
  830. <entry><emphasis role="strong">05</emphasis>
  831. </entry>
  832. </row>
  833. <row>
  834. <entry>d</entry>
  835. <entry>Day of the month, one or two digit</entry>
  836. <entry>Zend_Date::DAY_SHORT</entry>
  837. <entry><emphasis role="strong">9</emphasis>
  838. </entry>
  839. </row>
  840. <row>
  841. <entry>dd</entry>
  842. <entry>Day of the month, two digit</entry>
  843. <entry>Zend_Date::DAY</entry>
  844. <entry><emphasis role="strong">09</emphasis>
  845. </entry>
  846. </row>
  847. <row>
  848. <entry>D</entry>
  849. <entry>Day of the year, one, two or three digit</entry>
  850. <entry>Zend_Date::DAY_OF_YEAR</entry>
  851. <entry><emphasis role="strong">7</emphasis>
  852. </entry>
  853. </row>
  854. <row>
  855. <entry>DD</entry>
  856. <entry>Day of the year, two or three digit</entry>
  857. <entry>Zend_Date::DAY_OF_YEAR</entry>
  858. <entry><emphasis role="strong">07</emphasis>
  859. </entry>
  860. </row>
  861. <row>
  862. <entry>DDD</entry>
  863. <entry>Day of the year, three digit</entry>
  864. <entry>Zend_Date::DAY_OF_YEAR</entry>
  865. <entry><emphasis role="strong">007</emphasis>
  866. </entry>
  867. </row>
  868. <row>
  869. <entry>E</entry>
  870. <entry>Day of the week, localized, abbreviated, one char</entry>
  871. <entry>Zend_Date::WEEKDAY_NARROW</entry>
  872. <entry><emphasis role="strong">M</emphasis>
  873. </entry>
  874. </row>
  875. <row>
  876. <entry>EE</entry>
  877. <entry>Day of the week, localized, abbreviated, two char</entry>
  878. <entry>Zend_Date::WEEKDAY_NAME</entry>
  879. <entry><emphasis role="strong">Mo</emphasis>
  880. </entry>
  881. </row>
  882. <row>
  883. <entry>EEE</entry>
  884. <entry>Day of the week, localized, abbreviated, three char</entry>
  885. <entry>Zend_Date::WEEKDAY_SHORT</entry>
  886. <entry><emphasis role="strong">Mon</emphasis>
  887. </entry>
  888. </row>
  889. <row>
  890. <entry>EEEE</entry>
  891. <entry>Day of the week, localized, complete</entry>
  892. <entry>Zend_Date::WEEKDAY</entry>
  893. <entry><emphasis role="strong">Monday</emphasis>
  894. </entry>
  895. </row>
  896. <row>
  897. <entry>EEEEE</entry>
  898. <entry>Day of the week, localized, abbreviated, one digit</entry>
  899. <entry>Zend_Date::WEEKDAY_NARROW</entry>
  900. <entry><emphasis role="strong">M</emphasis>
  901. </entry>
  902. </row>
  903. <row>
  904. <entry>e</entry>
  905. <entry>Number of the day, one digit</entry>
  906. <entry>Zend_Date::WEEKDAY_NARROW</entry>
  907. <entry><emphasis role="strong">4</emphasis>
  908. </entry>
  909. </row>
  910. <row>
  911. <entry>ee</entry>
  912. <entry>Number of the day, two digit</entry>
  913. <entry>Zend_Date::WEEKDAY_NARROW</entry>
  914. <entry><emphasis role="strong">04</emphasis>
  915. </entry>
  916. </row>
  917. <row>
  918. <entry>a</entry>
  919. <entry>Time of day, localized</entry>
  920. <entry>Zend_Date::MERIDIEM</entry>
  921. <entry><emphasis role="strong">vorm.</emphasis>
  922. </entry>
  923. </row>
  924. <row>
  925. <entry>h</entry>
  926. <entry>Hour, (1-12), one or two digit</entry>
  927. <entry>Zend_Date::HOUR_SHORT_AM</entry>
  928. <entry><emphasis role="strong">2</emphasis>
  929. </entry>
  930. </row>
  931. <row>
  932. <entry>hh</entry>
  933. <entry>Hour, (01-12), two digit</entry>
  934. <entry>Zend_Date::HOUR_AM</entry>
  935. <entry><emphasis role="strong">02</emphasis>
  936. </entry>
  937. </row>
  938. <row>
  939. <entry>H</entry>
  940. <entry>Hour, (0-23), one or two digit</entry>
  941. <entry>Zend_Date::HOUR_SHORT</entry>
  942. <entry><emphasis role="strong">2</emphasis>
  943. </entry>
  944. </row>
  945. <row>
  946. <entry>HH</entry>
  947. <entry>Hour, (00-23), two digit</entry>
  948. <entry>Zend_Date::HOUR</entry>
  949. <entry><emphasis role="strong">02</emphasis>
  950. </entry>
  951. </row>
  952. <row>
  953. <entry>m</entry>
  954. <entry>Minute, (0-59), one or two digit</entry>
  955. <entry>Zend_Date::MINUTE_SHORT</entry>
  956. <entry><emphasis role="strong">2</emphasis>
  957. </entry>
  958. </row>
  959. <row>
  960. <entry>mm</entry>
  961. <entry>Minute, (00-59), two digit</entry>
  962. <entry>Zend_Date::MINUTE</entry>
  963. <entry><emphasis role="strong">02</emphasis>
  964. </entry>
  965. </row>
  966. <row>
  967. <entry>s</entry>
  968. <entry>Second, (0-59), one or two digit</entry>
  969. <entry>Zend_Date::SECOND_SHORT</entry>
  970. <entry><emphasis role="strong">2</emphasis>
  971. </entry>
  972. </row>
  973. <row>
  974. <entry>ss</entry>
  975. <entry>Second, (00-59), two digit</entry>
  976. <entry>Zend_Date::SECOND</entry>
  977. <entry><emphasis role="strong">02</emphasis>
  978. </entry>
  979. </row>
  980. <row>
  981. <entry>S</entry>
  982. <entry>Millisecond</entry>
  983. <entry>Zend_Date::MILLISECOND</entry>
  984. <entry><emphasis role="strong">20536</emphasis>
  985. </entry>
  986. </row>
  987. <row>
  988. <entry>z</entry>
  989. <entry>Time zone, localized, abbreviated</entry>
  990. <entry>Zend_Date::TIMEZONE</entry>
  991. <entry><emphasis role="strong">CET</emphasis>
  992. </entry>
  993. </row>
  994. <row>
  995. <entry>zz</entry>
  996. <entry>Time zone, localized, abbreviated</entry>
  997. <entry>Zend_Date::TIMEZONE</entry>
  998. <entry><emphasis role="strong">CET</emphasis>
  999. </entry>
  1000. </row>
  1001. <row>
  1002. <entry>zzz</entry>
  1003. <entry>Time zone, localized, abbreviated</entry>
  1004. <entry>Zend_Date::TIMEZONE</entry>
  1005. <entry><emphasis role="strong">CET</emphasis>
  1006. </entry>
  1007. </row>
  1008. <row>
  1009. <entry>zzzz</entry>
  1010. <entry>Time zone, localized, complete</entry>
  1011. <entry>Zend_Date::TIMEZONE_NAME</entry>
  1012. <entry><emphasis role="strong">Europe/Paris</emphasis>
  1013. </entry>
  1014. </row>
  1015. <row>
  1016. <entry>Z</entry>
  1017. <entry>Difference of time zone</entry>
  1018. <entry>Zend_Date::GMT_DIFF</entry>
  1019. <entry><emphasis role="strong">+0100</emphasis>
  1020. </entry>
  1021. </row>
  1022. <row>
  1023. <entry>ZZ</entry>
  1024. <entry>Difference of time zone</entry>
  1025. <entry>Zend_Date::GMT_DIFF</entry>
  1026. <entry><emphasis role="strong">+0100</emphasis>
  1027. </entry>
  1028. </row>
  1029. <row>
  1030. <entry>ZZZ</entry>
  1031. <entry>Difference of time zone</entry>
  1032. <entry>Zend_Date::GMT_DIFF</entry>
  1033. <entry><emphasis role="strong">+0100</emphasis>
  1034. </entry>
  1035. </row>
  1036. <row>
  1037. <entry>ZZZZ</entry>
  1038. <entry>Difference of time zone, separated</entry>
  1039. <entry>Zend_Date::GMT_DIFF_SEP</entry>
  1040. <entry><emphasis role="strong">+01:00</emphasis>
  1041. </entry>
  1042. </row>
  1043. <row>
  1044. <entry>A</entry>
  1045. <entry>Millisecond</entry>
  1046. <entry>Zend_Date::MILLISECOND</entry>
  1047. <entry><emphasis role="strong">20563</emphasis>
  1048. </entry>
  1049. </row>
  1050. </tbody>
  1051. </tgroup>
  1052. </table>
  1053. <note>
  1054. <para>
  1055. Note that the default ISO format differs from PHP's format which can be
  1056. irritating if you have not used in previous. Especially the format specifiers
  1057. for <emphasis role="strong">Year and Minute</emphasis> are often not used in the
  1058. intended way.
  1059. </para>
  1060. <para>
  1061. For <emphasis role="strong">year</emphasis> there are two specifiers available
  1062. which are often mistaken. The <emphasis role="strong">Y</emphasis> specifier
  1063. for the ISO year and the <emphasis role="strong">y</emphasis> specifier for the
  1064. real year. The difference is small but significant.
  1065. <emphasis role="strong">Y</emphasis> calculates the ISO year, which is often used
  1066. for calendar formats. See for example the 31. December 2007. The real year is
  1067. 2007, but it is the first day of the first week in the week 1 of the year 2008.
  1068. So, if you are using 'dd.MM.yyyy' you will get '31.December.2007' but if you use
  1069. 'dd.MM.YYYY' you will get '31.December.2008'. As you see this is no bug but a
  1070. expected behaviour depending on the used specifiers.
  1071. </para>
  1072. <para>
  1073. For <emphasis role="strong">minute</emphasis> the difference is not so big. ISO
  1074. uses the specifier <emphasis role="strong">m</emphasis> for the minute, unlike
  1075. PHP which uses <emphasis role="strong">i</emphasis>. So if you are getting no
  1076. minute in your format check if you have used the right specifier.
  1077. </para>
  1078. </note>
  1079. </sect2>
  1080. <sect2 id="zend.date.constants.phpformats">
  1081. <title>Self-Defined OUTPUT Formats Using PHP's date() Format Specifiers</title>
  1082. <para>
  1083. If you are more comfortable with PHP's date format specifier than with ISO format specifiers, then you can
  1084. use the <classname>Zend_Date::setOptions(array('format_type' => 'php'))</classname> method to switch Zend_Date methods from
  1085. supporting ISO format specifiers to PHP date() type specifiers. Afterwards, all format parameters must be
  1086. given with
  1087. <ulink url="http://php.net/date">PHP's <code>date()</code> format specifiers</ulink>
  1088. . The PHP date format lacks some of the formats supported by the ISO Format, and vice-versa. If you are not
  1089. already comfortable with it, then use the standard ISO format instead. Also, if you have legacy code using
  1090. PHP's date format, then either manually convert it to the ISO format using
  1091. <link linkend="zend.locale.date.normalize">Zend_Locale_Format::convertPhpToIsoFormat()</link>
  1092. , or use <code>setOptions()</code>. The following examples illustrate the usage of constants from the table
  1093. below to create self-defined formats.
  1094. </para>
  1095. <example id="zend.date.constants.phpformats.example-1">
  1096. <title>Self-Defined Formats with PHP Specifier</title>
  1097. <programlisting role="php"><![CDATA[
  1098. $locale = new Zend_Locale('de_AT');
  1099. Zend_Date::setOptions(array('format_type' => 'php'));
  1100. $date = new Zend_Date(1234567890, false, $locale);
  1101. // outputs something like 'February 16, 2007, 3:36 am'
  1102. print $date->toString('F j, Y, g:i a');
  1103. print $date->toString("'Format:D M j G:i:s T Y='D M j G:i:s T Y");
  1104. ]]></programlisting>
  1105. </example>
  1106. <para>
  1107. The following table shows the list of PHP date format specifiers with their equivalent Zend_Date constants
  1108. and CLDR/ISO equivalent format specifiers. In most cases, when the CLDR/ISO format does not have an
  1109. equivalent format specifier, the PHP format specifier is not altered by
  1110. <classname>Zend_Locale_Format::convertPhpToIsoFormat()</classname>, and the Zend_Date methods then recognize these
  1111. "peculiar" PHP format specifiers, even when in the default "ISO" format mode.
  1112. </para>
  1113. <table id="zend.date.constants.phpformats.table">
  1114. <title>Constants for PHP Date Output</title>
  1115. <tgroup cols="5">
  1116. <thead>
  1117. <row>
  1118. <entry>Constant</entry>
  1119. <entry>Description</entry>
  1120. <entry>Corresponds best to</entry>
  1121. <entry>closest CLDR equivalent</entry>
  1122. <entry>Affected part/example</entry>
  1123. </row>
  1124. </thead>
  1125. <tbody>
  1126. <row>
  1127. <entry>d</entry>
  1128. <entry>Day of the month, two digit</entry>
  1129. <entry>Zend_Date::DAY</entry>
  1130. <entry>dd</entry>
  1131. <entry><emphasis role="strong">09</emphasis>
  1132. </entry>
  1133. </row>
  1134. <row>
  1135. <entry>D</entry>
  1136. <entry>Day of the week, localized, abbreviated, three digit</entry>
  1137. <entry>Zend_Date::WEEKDAY_SHORT</entry>
  1138. <entry>EEE</entry>
  1139. <entry><emphasis role="strong">Mon</emphasis>
  1140. </entry>
  1141. </row>
  1142. <row>
  1143. <entry>j</entry>
  1144. <entry>Day of the month, one or two digit</entry>
  1145. <entry>Zend_Date::DAY_SHORT</entry>
  1146. <entry>d</entry>
  1147. <entry><emphasis role="strong">9</emphasis>
  1148. </entry>
  1149. </row>
  1150. <row>
  1151. <entry>l (lowercase L)</entry>
  1152. <entry>Day of the week, localized, complete</entry>
  1153. <entry>Zend_Date::WEEKDAY</entry>
  1154. <entry>EEEE</entry>
  1155. <entry><emphasis role="strong">Monday</emphasis>
  1156. </entry>
  1157. </row>
  1158. <row>
  1159. <entry>N</entry>
  1160. <entry>Number of the weekday, one digit</entry>
  1161. <entry>Zend_Date::WEEKDAY_8601</entry>
  1162. <entry>e</entry>
  1163. <entry><emphasis role="strong">4</emphasis>
  1164. </entry>
  1165. </row>
  1166. <row>
  1167. <entry>S</entry>
  1168. <entry>English suffixes for day of month, two chars</entry>
  1169. <entry>no equivalent</entry>
  1170. <entry>no equivalent</entry>
  1171. <entry><emphasis role="strong">st</emphasis>
  1172. </entry>
  1173. </row>
  1174. <row>
  1175. <entry>w</entry>
  1176. <entry>Number of the weekday, 0=sunday, 6=saturday</entry>
  1177. <entry>Zend_Date::WEEKDAY_DIGIT</entry>
  1178. <entry>no equivalent</entry>
  1179. <entry><emphasis role="strong">4</emphasis>
  1180. </entry>
  1181. </row>
  1182. <row>
  1183. <entry>z</entry>
  1184. <entry>Day of the year, one, two or three digit</entry>
  1185. <entry>Zend_Date::DAY_OF_YEAR</entry>
  1186. <entry>D</entry>
  1187. <entry><emphasis role="strong">7</emphasis>
  1188. </entry>
  1189. </row>
  1190. <row>
  1191. <entry>W</entry>
  1192. <entry>Week, one or two digit</entry>
  1193. <entry>Zend_Date::WEEK</entry>
  1194. <entry>w</entry>
  1195. <entry><emphasis role="strong">5</emphasis>
  1196. </entry>
  1197. </row>
  1198. <row>
  1199. <entry>F</entry>
  1200. <entry>Month, localized, complete</entry>
  1201. <entry>Zend_Date::MONTH_NAME</entry>
  1202. <entry>MMMM</entry>
  1203. <entry><emphasis role="strong">February</emphasis>
  1204. </entry>
  1205. </row>
  1206. <row>
  1207. <entry>m</entry>
  1208. <entry>Month, two digit</entry>
  1209. <entry>Zend_Date::MONTH</entry>
  1210. <entry>MM</entry>
  1211. <entry><emphasis role="strong">02</emphasis>
  1212. </entry>
  1213. </row>
  1214. <row>
  1215. <entry>M</entry>
  1216. <entry>Month, localized, abbreviated</entry>
  1217. <entry>Zend_Date::MONTH_NAME_SHORT</entry>
  1218. <entry>MMM</entry>
  1219. <entry><emphasis role="strong">Feb</emphasis>
  1220. </entry>
  1221. </row>
  1222. <row>
  1223. <entry>n</entry>
  1224. <entry>Month, one or two digit</entry>
  1225. <entry>Zend_Date::MONTH_SHORT</entry>
  1226. <entry>M</entry>
  1227. <entry><emphasis role="strong">2</emphasis>
  1228. </entry>
  1229. </row>
  1230. <row>
  1231. <entry>t</entry>
  1232. <entry>Number of days per month, one or two digits</entry>
  1233. <entry>Zend_Date::MONTH_DAYS</entry>
  1234. <entry>no equivalent</entry>
  1235. <entry><emphasis role="strong">30</emphasis>
  1236. </entry>
  1237. </row>
  1238. <row>
  1239. <entry>L</entry>
  1240. <entry>Leapyear, boolean</entry>
  1241. <entry>Zend_Date::LEAPYEAR</entry>
  1242. <entry>no equivalent</entry>
  1243. <entry><emphasis role="strong">true</emphasis>
  1244. </entry>
  1245. </row>
  1246. <row>
  1247. <entry>o</entry>
  1248. <entry>Year according to ISO 8601, at least four digit</entry>
  1249. <entry>Zend_Date::YEAR_8601</entry>
  1250. <entry>YYYY</entry>
  1251. <entry><emphasis role="strong">2009</emphasis>
  1252. </entry>
  1253. </row>
  1254. <row>
  1255. <entry>Y</entry>
  1256. <entry>Year, at least four digit</entry>
  1257. <entry>Zend_Date::YEAR</entry>
  1258. <entry>yyyy</entry>
  1259. <entry><emphasis role="strong">2009</emphasis>
  1260. </entry>
  1261. </row>
  1262. <row>
  1263. <entry>y</entry>
  1264. <entry>Year, at least two digit</entry>
  1265. <entry>Zend_Date::YEAR_SHORT</entry>
  1266. <entry>yy</entry>
  1267. <entry><emphasis role="strong">09</emphasis>
  1268. </entry>
  1269. </row>
  1270. <row>
  1271. <entry>a</entry>
  1272. <entry>Time of day, localized</entry>
  1273. <entry>Zend_Date::MERIDIEM</entry>
  1274. <entry>a (sort of, but likely to be uppercase)</entry>
  1275. <entry><emphasis role="strong">vorm.</emphasis>
  1276. </entry>
  1277. </row>
  1278. <row>
  1279. <entry>A</entry>
  1280. <entry>Time of day, localized</entry>
  1281. <entry>Zend_Date::MERIDIEM</entry>
  1282. <entry>a (sort of, but no guarantee that the format is uppercase)</entry>
  1283. <entry><emphasis role="strong">VORM.</emphasis>
  1284. </entry>
  1285. </row>
  1286. <row>
  1287. <entry>B</entry>
  1288. <entry>Swatch internet time</entry>
  1289. <entry>Zend_Date::SWATCH</entry>
  1290. <entry>no equivalent</entry>
  1291. <entry><emphasis role="strong">1463</emphasis>
  1292. </entry>
  1293. </row>
  1294. <row>
  1295. <entry>g</entry>
  1296. <entry>Hour, (1-12), one or two digit</entry>
  1297. <entry>Zend_Date::HOUR_SHORT_AM</entry>
  1298. <entry>h</entry>
  1299. <entry><emphasis role="strong">2</emphasis>
  1300. </entry>
  1301. </row>
  1302. <row>
  1303. <entry>G</entry>
  1304. <entry>Hour, (0-23), one or two digit</entry>
  1305. <entry>Zend_Date::HOUR_SHORT</entry>
  1306. <entry>H</entry>
  1307. <entry><emphasis role="strong">2</emphasis>
  1308. </entry>
  1309. </row>
  1310. <row>
  1311. <entry>h</entry>
  1312. <entry>Hour, (01-12), two digit</entry>
  1313. <entry>Zend_Date::HOUR_AM</entry>
  1314. <entry>hh</entry>
  1315. <entry><emphasis role="strong">02</emphasis>
  1316. </entry>
  1317. </row>
  1318. <row>
  1319. <entry>H</entry>
  1320. <entry>Hour, (00-23), two digit</entry>
  1321. <entry>Zend_Date::HOUR</entry>
  1322. <entry>HH</entry>
  1323. <entry><emphasis role="strong">02</emphasis>
  1324. </entry>
  1325. </row>
  1326. <row>
  1327. <entry>i</entry>
  1328. <entry>Minute, (00-59), two digit</entry>
  1329. <entry>Zend_Date::MINUTE</entry>
  1330. <entry>mm</entry>
  1331. <entry><emphasis role="strong">02</emphasis>
  1332. </entry>
  1333. </row>
  1334. <row>
  1335. <entry>s</entry>
  1336. <entry>Second, (00-59), two digit</entry>
  1337. <entry>Zend_Date::SECOND</entry>
  1338. <entry>ss</entry>
  1339. <entry><emphasis role="strong">02</emphasis>
  1340. </entry>
  1341. </row>
  1342. <row>
  1343. <entry>e</entry>
  1344. <entry>Time zone, localized, complete</entry>
  1345. <entry>Zend_Date::TIMEZONE_NAME</entry>
  1346. <entry>zzzz</entry>
  1347. <entry><emphasis role="strong">Europe/Paris</emphasis>
  1348. </entry>
  1349. </row>
  1350. <row>
  1351. <entry>I</entry>
  1352. <entry>Daylight</entry>
  1353. <entry>Zend_Date::DAYLIGHT</entry>
  1354. <entry>no equivalent</entry>
  1355. <entry><emphasis role="strong">1</emphasis>
  1356. </entry>
  1357. </row>
  1358. <row>
  1359. <entry>O</entry>
  1360. <entry>Difference of time zone</entry>
  1361. <entry>Zend_Date::GMT_DIFF</entry>
  1362. <entry>Z or ZZ or ZZZ</entry>
  1363. <entry><emphasis role="strong">+0100</emphasis>
  1364. </entry>
  1365. </row>
  1366. <row>
  1367. <entry>P</entry>
  1368. <entry>Difference of time zone, separated</entry>
  1369. <entry>Zend_Date::GMT_DIFF_SEP</entry>
  1370. <entry>ZZZZ</entry>
  1371. <entry><emphasis role="strong">+01:00</emphasis>
  1372. </entry>
  1373. </row>
  1374. <row>
  1375. <entry>T</entry>
  1376. <entry>Time zone, localized, abbreviated</entry>
  1377. <entry>Zend_Date::TIMEZONE</entry>
  1378. <entry>z or zz or zzz</entry>
  1379. <entry><emphasis role="strong">CET</emphasis>
  1380. </entry>
  1381. </row>
  1382. <row>
  1383. <entry>Z</entry>
  1384. <entry>Time zone offset in seconds</entry>
  1385. <entry>Zend_Date::TIMEZONE_SECS</entry>
  1386. <entry>no equivalent</entry>
  1387. <entry><emphasis role="strong">3600</emphasis>
  1388. </entry>
  1389. </row>
  1390. <row>
  1391. <entry>c</entry>
  1392. <entry>Standard Iso format output</entry>
  1393. <entry>Zend_Date::ISO_8601</entry>
  1394. <entry>no equivalent</entry>
  1395. <entry><emphasis role="strong">2004-02-12T15:19:21+00:00</emphasis>
  1396. </entry>
  1397. </row>
  1398. <row>
  1399. <entry>r</entry>
  1400. <entry>Standard Rfc 2822 format output</entry>
  1401. <entry>Zend_Date::RFC_2822</entry>
  1402. <entry>no equivalent</entry>
  1403. <entry><emphasis role="strong">Thu, 21 Dec 2000 16:01:07 +0200</emphasis>
  1404. </entry>
  1405. </row>
  1406. <row>
  1407. <entry>U</entry>
  1408. <entry>Unix timestamp</entry>
  1409. <entry>Zend_Date::TIMESTAMP</entry>
  1410. <entry>no equivalent</entry>
  1411. <entry><emphasis role="strong">15275422364</emphasis>
  1412. </entry>
  1413. </row>
  1414. </tbody>
  1415. </tgroup>
  1416. </table>
  1417. </sect2>
  1418. </sect1>