Zend_Date-Constants.xml 67 KB

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