blob: 8126eba6cbd1d8efc8369f0359cae5b0a1c3cc50 [file] [log] [blame]
Derek Jones8ede1a22011-10-05 13:34:52 -05001###########
2Date Helper
3###########
4
5The Date Helper file contains functions that help you work with dates.
6
7.. contents:: Page Contents
8
9Loading this Helper
10===================
11
Andrey Andreev48a86752012-11-08 15:16:34 +020012This helper is loaded using the following code::
Derek Jones8ede1a22011-10-05 13:34:52 -050013
14 $this->load->helper('date');
15
16The following functions are available:
17
18now()
19=====
20
Andrey Andreev48a86752012-11-08 15:16:34 +020021.. php:function:: now($timezone = NULL)
Derek Jones8ede1a22011-10-05 13:34:52 -050022
Andrey Andreev48a86752012-11-08 15:16:34 +020023 :param string $timezone: Timezone
24 :returns: int
Iban Eguia7bf0a4f2012-03-27 18:36:15 +020025
Andrey Andreev48a86752012-11-08 15:16:34 +020026Returns the current time as a UNIX timestamp, referenced either to your server's
27local time or any PHP suported timezone, based on the "time reference" setting
28in your config file. If you do not intend to set your master time reference to
29any other PHP supported timezone (which you'll typically do if you run a site
30that lets each user set their own timezone settings) there is no benefit to using
31this function over PHP's ``time()`` function.
Iban Eguia7bf0a4f2012-03-27 18:36:15 +020032
33::
34
Andrey Andreev48a86752012-11-08 15:16:34 +020035 echo now('Australia/Victoria');
36
37If a timezone is not provided, it will return ``time()`` based on the
38**time_reference** setting.
Derek Jones8ede1a22011-10-05 13:34:52 -050039
40mdate()
41=======
42
Andrey Andreev48a86752012-11-08 15:16:34 +020043.. php:function:: mdate($datestr = '', $time = '')
44
45 :param string $datestr: Date string
46 :param int $time: UNIX timestamp
47 :returns: int
48
Andrey Andreevac570332012-07-04 13:04:10 +030049This function is identical to PHP's `date() <http://www.php.net/date>`_
Derek Jones8ede1a22011-10-05 13:34:52 -050050function, except that it lets you use MySQL style date codes, where each
Andrey Andreev48a86752012-11-08 15:16:34 +020051code letter is preceded with a percent sign, e.g. `%Y %m %d`
Derek Jones8ede1a22011-10-05 13:34:52 -050052
53The benefit of doing dates this way is that you don't have to worry
54about escaping any characters that are not date codes, as you would
Andrey Andreev48a86752012-11-08 15:16:34 +020055normally have to do with the ``date()`` function.
Derek Jones8ede1a22011-10-05 13:34:52 -050056
Andrey Andreev48a86752012-11-08 15:16:34 +020057Example::
Derek Jones8ede1a22011-10-05 13:34:52 -050058
Andrey Andreev48a86752012-11-08 15:16:34 +020059 $datestring = 'Year: %Y Month: %m Day: %d - %h:%i %a';
Derek Jones8ede1a22011-10-05 13:34:52 -050060 $time = time();
61 echo mdate($datestring, $time);
62
63If a timestamp is not included in the second parameter the current time
64will be used.
65
66standard_date()
67===============
68
Andrey Andreev48a86752012-11-08 15:16:34 +020069.. php:function:: standard_date($fmt = 'DATE_RFC822', $time = NULL)
70
71 :param string $fmt: Date format
72 :param int $time: UNIX timestamp
73 :returns: string
74
Derek Jones8ede1a22011-10-05 13:34:52 -050075Lets you generate a date string in one of several standardized formats.
Derek Jones8ede1a22011-10-05 13:34:52 -050076
Andrey Andreev48a86752012-11-08 15:16:34 +020077Example::
Derek Jones8ede1a22011-10-05 13:34:52 -050078
79 $format = 'DATE_RFC822';
80 $time = time();
81 echo standard_date($format, $time);
82
Andrey Andreevf964b162013-11-12 17:04:55 +020083.. note:: This function is DEPRECATED. Use the native ``date()`` combined with
Andrey Andreev48a86752012-11-08 15:16:34 +020084 `DateTime's format constants
85 <http://www.php.net/manual/en/class.datetime.php#datetime.constants.types>`_
Andrey Andreevac570332012-07-04 13:04:10 +030086 instead:
87
88 |
89 | echo date(DATE_RFC822, time());
90
Andrey Andreev48a86752012-11-08 15:16:34 +020091Supported formats
92-----------------
Derek Jones8ede1a22011-10-05 13:34:52 -050093
Derek Jonesce79be02012-06-25 23:23:46 -070094=============== ======================= ======================================
95Constant Description Example
96=============== ======================= ======================================
Andrey Andreevac570332012-07-04 13:04:10 +030097DATE_ATOM Atom 2005-08-15T16:13:03+0000
98DATE_COOKIE HTTP Cookies Sun, 14 Aug 2005 16:13:03 UTC
99DATE_ISO8601 ISO-8601 2005-08-14T16:13:03+00:00
100DATE_RFC822 RFC 822 Sun, 14 Aug 05 16:13:03 UTC
101DATE_RFC850 RFC 850 Sunday, 14-Aug-05 16:13:03 UTC
102DATE_RFC1036 RFC 1036 Sunday, 14-Aug-05 16:13:03 UTC
103DATE_RFC1123 RFC 1123 Sun, 14 Aug 2005 16:13:03 UTC
104DATE_RFC2822 RFC 2822 Sun, 14 Aug 2005 16:13:03 +0000
105DATE_RSS RSS Sun, 14 Aug 2005 16:13:03 UTC
106DATE_W3C W3C 2005-08-14T16:13:03+0000
Derek Jonesce79be02012-06-25 23:23:46 -0700107=============== ======================= ======================================
Derek Jones8ede1a22011-10-05 13:34:52 -0500108
109local_to_gmt()
110==============
111
Andrey Andreev48a86752012-11-08 15:16:34 +0200112.. php:function:: local_to_gmt($time = '')
Derek Jones8ede1a22011-10-05 13:34:52 -0500113
Andrey Andreev48a86752012-11-08 15:16:34 +0200114 :param int $time: UNIX timestamp
115 :returns: string
Derek Jones8ede1a22011-10-05 13:34:52 -0500116
Andrey Andreev48a86752012-11-08 15:16:34 +0200117Takes a UNIX timestamp as input and returns it as GMT.
Derek Jones8ede1a22011-10-05 13:34:52 -0500118
Andrey Andreev48a86752012-11-08 15:16:34 +0200119Example::
Derek Jones8ede1a22011-10-05 13:34:52 -0500120
Andrey Andreev48a86752012-11-08 15:16:34 +0200121 $gmt = local_to_gmt(time());
Derek Jones8ede1a22011-10-05 13:34:52 -0500122
123gmt_to_local()
124==============
125
Andrey Andreev48a86752012-11-08 15:16:34 +0200126.. php:function:: gmt_to_local($time = '', $timezone = 'UTC', $dst = FALSE)
127
128 :param int $time: UNIX timestamp
129 :param string $timezone: Timezone
130 :param bool $dst: Whether DST is active
131 :returns: int
132
133Takes a UNIX timestamp (referenced to GMT) as input, and converts it to
134a localized timestamp based on the timezone and Daylight Saving Time
Derek Jones8ede1a22011-10-05 13:34:52 -0500135submitted.
136
Andrey Andreev48a86752012-11-08 15:16:34 +0200137Example::
Derek Jones8ede1a22011-10-05 13:34:52 -0500138
Andrey Andreev48a86752012-11-08 15:16:34 +0200139 $timestamp = 1140153693;
Derek Jones8ede1a22011-10-05 13:34:52 -0500140 $timezone = 'UM8';
141 $daylight_saving = TRUE;
142 echo gmt_to_local($timestamp, $timezone, $daylight_saving);
143
144
145.. note:: For a list of timezones see the reference at the bottom of this page.
146
Derek Jones8ede1a22011-10-05 13:34:52 -0500147mysql_to_unix()
148===============
149
Andrey Andreev48a86752012-11-08 15:16:34 +0200150.. php:function:: mysql_to_unix($time = '')
Derek Jones8ede1a22011-10-05 13:34:52 -0500151
Andrey Andreev48a86752012-11-08 15:16:34 +0200152 :param int $time: UNIX timestamp
153 :returns: int
Derek Jones8ede1a22011-10-05 13:34:52 -0500154
Andrey Andreev48a86752012-11-08 15:16:34 +0200155Takes a MySQL Timestamp as input and returns it as a UNIX timestamp.
Derek Jones8ede1a22011-10-05 13:34:52 -0500156
Andrey Andreev48a86752012-11-08 15:16:34 +0200157Example::
Derek Jones8ede1a22011-10-05 13:34:52 -0500158
Andrey Andreev48a86752012-11-08 15:16:34 +0200159 $unix = mysql_to_unix('20061124092345');
Derek Jones8ede1a22011-10-05 13:34:52 -0500160
161unix_to_human()
162===============
163
Andrey Andreev48a86752012-11-08 15:16:34 +0200164.. php:function:: unix_to_human($time = '', $seconds = FALSE, $fmt = 'us')
Derek Jones8ede1a22011-10-05 13:34:52 -0500165
Andrey Andreev48a86752012-11-08 15:16:34 +0200166 :param int $time: UNIX timestamp
167 :param bool $seconds: Whether to show seconds
168 :param string $fmt: format (us or euro)
Derek Jones8ede1a22011-10-05 13:34:52 -0500169 :returns: integer
170
Andrey Andreev48a86752012-11-08 15:16:34 +0200171Takes a UNIX timestamp as input and returns it in a human readable
172format with this prototype::
Derek Jones8ede1a22011-10-05 13:34:52 -0500173
174 YYYY-MM-DD HH:MM:SS AM/PM
175
176This can be useful if you need to display a date in a form field for
177submission.
178
179The time can be formatted with or without seconds, and it can be set to
180European or US format. If only the timestamp is submitted it will return
Andrey Andreev48a86752012-11-08 15:16:34 +0200181the time without seconds formatted for the U.S.
Derek Jones8ede1a22011-10-05 13:34:52 -0500182
Andrey Andreev48a86752012-11-08 15:16:34 +0200183Examples::
Derek Jones8ede1a22011-10-05 13:34:52 -0500184
185 $now = time();
186 echo unix_to_human($now); // U.S. time, no seconds
187 echo unix_to_human($now, TRUE, 'us'); // U.S. time with seconds
188 echo unix_to_human($now, TRUE, 'eu'); // Euro time with seconds
189
190human_to_unix()
191===============
192
Andrey Andreev48a86752012-11-08 15:16:34 +0200193.. php:function:: human_to_unix($datestr = '')
194
195 :param int $datestr: Date string
196 :returns: int UNIX timestamp or FALSE on failure
197
198The opposite of the :php:func:`unix_to_time()` function. Takes a "human"
199time as input and returns it as a UNIX timestamp. This is useful if you
200accept "human" formatted dates submitted via a form. Returns boolean FALSE
Mat Whitney7540ded2012-06-22 12:02:10 -0700201date string passed to it is not formatted as indicated above.
Derek Jones8ede1a22011-10-05 13:34:52 -0500202
Andrey Andreev48a86752012-11-08 15:16:34 +0200203Example::
Derek Jones8ede1a22011-10-05 13:34:52 -0500204
205 $now = time();
206 $human = unix_to_human($now);
207 $unix = human_to_unix($human);
208
209nice_date()
210===========
211
Andrey Andreev48a86752012-11-08 15:16:34 +0200212.. php:function:: nice_date($bad_date = '', $format = FALSE)
213
214 :param int $bad_date: The terribly formatted date-like string
215 :param string $format: Date format to return (same as PHP's ``date()`` function)
216 :returns: string
217
Derek Jones8ede1a22011-10-05 13:34:52 -0500218This function can take a number poorly-formed date formats and convert
219them into something useful. It also accepts well-formed dates.
220
Andrey Andreev48a86752012-11-08 15:16:34 +0200221The function will return a UNIX timestamp by default. You can, optionally,
222pass a format string (the same type as the PHP ``date()`` function accepts)
223as the second parameter.
Derek Jones8ede1a22011-10-05 13:34:52 -0500224
Andrey Andreev48a86752012-11-08 15:16:34 +0200225Example::
Derek Jones8ede1a22011-10-05 13:34:52 -0500226
Andrey Andreevc275b232012-06-15 16:13:17 +0300227 $bad_date = '199605';
228 // Should Produce: 1996-05-01
229 $better_date = nice_date($bad_date, 'Y-m-d');
230
231 $bad_date = '9-11-2001';
232 // Should Produce: 2001-09-11
233 $better_date = nice_date($bad_date, 'Y-m-d');
Derek Jones8ede1a22011-10-05 13:34:52 -0500234
235timespan()
236==========
237
Andrey Andreev48a86752012-11-08 15:16:34 +0200238.. php:function:: timespan($seconds = 1, $time = '', $units = '')
239
240 :param int $seconds: Number of seconds
241 :param string $time: UNIX timestamp
242 :param int $units: Number of time units to display
243 :returns: string
244
245Formats a UNIX timestamp so that is appears similar to this::
Derek Jones8ede1a22011-10-05 13:34:52 -0500246
247 1 Year, 10 Months, 2 Weeks, 5 Days, 10 Hours, 16 Minutes
248
Andrey Andreev48a86752012-11-08 15:16:34 +0200249The first parameter must contain a UNIX timestamp.
250The second parameter must contain a timestamp that is greater that the
251first timestamp.
252The thirdparameter is optional and limits the number of time units to display.
253
254If the second parameter empty, the current time will be used.
255
Mat Whitney7540ded2012-06-22 12:02:10 -0700256The most common purpose for this function is to show how much time has
257elapsed from some point in time in the past to now.
Derek Jones8ede1a22011-10-05 13:34:52 -0500258
Andrey Andreev48a86752012-11-08 15:16:34 +0200259Example::
Derek Jones8ede1a22011-10-05 13:34:52 -0500260
261 $post_date = '1079621429';
262 $now = time();
Roger Herbertb81f9092012-03-12 12:46:02 +0000263 $units = 2;
264 echo timespan($post_date, $now, $units);
Derek Jones8ede1a22011-10-05 13:34:52 -0500265
266.. note:: The text generated by this function is found in the following language
Andrey Andreev48a86752012-11-08 15:16:34 +0200267 file: `language/<your_lang>/date_lang.php`
Derek Jones8ede1a22011-10-05 13:34:52 -0500268
269days_in_month()
270===============
271
Andrey Andreev48a86752012-11-08 15:16:34 +0200272.. php:function:: days_in_month($month = 0, $year = '')
273
274 :param int $month: a numeric month
275 :param int $year: a numeric year
276 :returns: int
277
Derek Jones8ede1a22011-10-05 13:34:52 -0500278Returns the number of days in a given month/year. Takes leap years into
Mat Whitney7540ded2012-06-22 12:02:10 -0700279account.
Derek Jones8ede1a22011-10-05 13:34:52 -0500280
Andrey Andreev48a86752012-11-08 15:16:34 +0200281Example::
Derek Jones8ede1a22011-10-05 13:34:52 -0500282
283 echo days_in_month(06, 2005);
284
285If the second parameter is empty, the current year will be used.
286
Andrey Andreev2139ecd2012-01-11 23:58:50 +0200287date_range()
288============
289
Andrey Andreev48a86752012-11-08 15:16:34 +0200290.. php:function:: date_range($unix_start = '', $mixed = '', $is_unix = TRUE, $format = 'Y-m-d')
291
292 :param int $unix_start: UNIX timestamp of the range start date
293 :param int $mixed: UNIX timestamp of the range end date or interval in days
294 :param bool $is_unix: set to FALSE if $mixed is not a timestamp
295 :param string $format: Output date format, same as in ``date()``
296 :returns: array
297
Andrey Andreev2139ecd2012-01-11 23:58:50 +0200298Returns a list of dates within a specified period.
299
Andrey Andreev48a86752012-11-08 15:16:34 +0200300Example::
Andrey Andreev2139ecd2012-01-11 23:58:50 +0200301
302 $range = date_range('2012-01-01', '2012-01-15');
303 echo "First 15 days of 2012:";
304 foreach ($range as $date)
305 {
306 echo $date."\n";
307 }
308
Derek Jones8ede1a22011-10-05 13:34:52 -0500309timezones()
310===========
311
Andrey Andreev48a86752012-11-08 15:16:34 +0200312.. php:function:: timezones($tz = '')
313
314 :param string $tz: a numeric timezone
315 :returns: string
316
Derek Jones8ede1a22011-10-05 13:34:52 -0500317Takes a timezone reference (for a list of valid timezones, see the
318"Timezone Reference" below) and returns the number of hours offset from
319UTC.
320
Andrey Andreev48a86752012-11-08 15:16:34 +0200321Example::
Derek Jones8ede1a22011-10-05 13:34:52 -0500322
323 echo timezones('UM5');
324
325
Andrey Andreev48a86752012-11-08 15:16:34 +0200326This function is useful when used with :php:func:`timezone_menu()`.
Derek Jones8ede1a22011-10-05 13:34:52 -0500327
328timezone_menu()
329===============
330
Andrey Andreev48a86752012-11-08 15:16:34 +0200331.. php:function:: timezone_menu($default = 'UTC', $class = '', $name = 'timezones', $attributes = '')
Derek Jones8ede1a22011-10-05 13:34:52 -0500332
Andrey Andreev48a86752012-11-08 15:16:34 +0200333 :param string $default: Timezone
334 :param string $class: Class name
335 :param string $name: Menu name
336 :param mixed $attributes: HTML attributes
337 :returns: string
338
339Generates a pull-down menu of timezones, like this one:
Derek Jones8ede1a22011-10-05 13:34:52 -0500340
341.. raw:: html
342
343 <form action="#">
344 <select name="timezones">
Kwaan Onlinee90b6842012-01-31 10:15:30 +0000345 <option value='UM12'>(UTC -12:00) Baker/Howland Island</option>
346 <option value='UM11'>(UTC -11:00) Samoa Time Zone, Niue</option>
347 <option value='UM10'>(UTC -10:00) Hawaii-Aleutian Standard Time, Cook Islands, Tahiti</option>
348 <option value='UM95'>(UTC -9:30) Marquesas Islands</option>
349 <option value='UM9'>(UTC -9:00) Alaska Standard Time, Gambier Islands</option>
350 <option value='UM8'>(UTC -8:00) Pacific Standard Time, Clipperton Island</option>
351 <option value='UM7'>(UTC -7:00) Mountain Standard Time</option>
352 <option value='UM6'>(UTC -6:00) Central Standard Time</option>
353 <option value='UM5'>(UTC -5:00) Eastern Standard Time, Western Caribbean Standard Time</option>
354 <option value='UM45'>(UTC -4:30) Venezuelan Standard Time</option>
355 <option value='UM4'>(UTC -4:00) Atlantic Standard Time, Eastern Caribbean Standard Time</option>
356 <option value='UM35'>(UTC -3:30) Newfoundland Standard Time</option>
357 <option value='UM3'>(UTC -3:00) Argentina, Brazil, French Guiana, Uruguay</option>
358 <option value='UM2'>(UTC -2:00) South Georgia/South Sandwich Islands</option>
359 <option value='UM1'>(UTC -1:00) Azores, Cape Verde Islands</option>
360 <option value='UTC' selected='selected'>(UTC) Greenwich Mean Time, Western European Time</option>
361 <option value='UP1'>(UTC +1:00) Central European Time, West Africa Time</option>
362 <option value='UP2'>(UTC +2:00) Central Africa Time, Eastern European Time, Kaliningrad Time</option>
363 <option value='UP3'>(UTC +3:00) Moscow Time, East Africa Time</option>
364 <option value='UP35'>(UTC +3:30) Iran Standard Time</option>
365 <option value='UP4'>(UTC +4:00) Azerbaijan Standard Time, Samara Time</option>
366 <option value='UP45'>(UTC +4:30) Afghanistan</option>
367 <option value='UP5'>(UTC +5:00) Pakistan Standard Time, Yekaterinburg Time</option>
368 <option value='UP55'>(UTC +5:30) Indian Standard Time, Sri Lanka Time</option>
369 <option value='UP575'>(UTC +5:45) Nepal Time</option>
370 <option value='UP6'>(UTC +6:00) Bangladesh Standard Time, Bhutan Time, Omsk Time</option>
371 <option value='UP65'>(UTC +6:30) Cocos Islands, Myanmar</option>
372 <option value='UP7'>(UTC +7:00) Krasnoyarsk Time, Cambodia, Laos, Thailand, Vietnam</option>
373 <option value='UP8'>(UTC +8:00) Australian Western Standard Time, Beijing Time, Irkutsk Time</option>
374 <option value='UP875'>(UTC +8:45) Australian Central Western Standard Time</option>
375 <option value='UP9'>(UTC +9:00) Japan Standard Time, Korea Standard Time, Yakutsk Time</option>
376 <option value='UP95'>(UTC +9:30) Australian Central Standard Time</option>
377 <option value='UP10'>(UTC +10:00) Australian Eastern Standard Time, Vladivostok Time</option>
378 <option value='UP105'>(UTC +10:30) Lord Howe Island</option>
379 <option value='UP11'>(UTC +11:00) Magadan Time, Solomon Islands, Vanuatu</option>
380 <option value='UP115'>(UTC +11:30) Norfolk Island</option>
381 <option value='UP12'>(UTC +12:00) Fiji, Gilbert Islands, Kamchatka Time, New Zealand Standard Time</option>
382 <option value='UP1275'>(UTC +12:45) Chatham Islands Standard Time</option>
383 <option value='UP13'>(UTC +13:00) Phoenix Islands Time, Tonga</option>
384 <option value='UP14'>(UTC +14:00) Line Islands</option>
Derek Jones8ede1a22011-10-05 13:34:52 -0500385 </select>
386 </form>
387
388
389This menu is useful if you run a membership site in which your users are
390allowed to set their local timezone value.
391
392The first parameter lets you set the "selected" state of the menu. For
Andrey Andreev48a86752012-11-08 15:16:34 +0200393example, to set Pacific time as the default you will do this::
Derek Jones8ede1a22011-10-05 13:34:52 -0500394
395 echo timezone_menu('UM8');
396
397Please see the timezone reference below to see the values of this menu.
398
399The second parameter lets you set a CSS class name for the menu.
400
Mat Whitney7540ded2012-06-22 12:02:10 -0700401The fourth parameter lets you set one or more attributes on the generated select tag.
402
Derek Jones8ede1a22011-10-05 13:34:52 -0500403.. note:: The text contained in the menu is found in the following
404 language file: `language/<your_lang>/date_lang.php`
405
406
407Timezone Reference
408==================
409
410The following table indicates each timezone and its location.
411
Kwaan Onlinee90b6842012-01-31 10:15:30 +0000412Note some of the location lists have been abridged for clarity and formatting.
413
Derek Jonesce79be02012-06-25 23:23:46 -0700414=========== =====================================================================
415Time Zone Location
416=========== =====================================================================
AdwinTrave7a091522013-07-15 13:36:51 -0400417UM12 (UTC - 12:00) Baker/Howland Island
418UM11 (UTC - 11:00) Samoa Time Zone, Niue
419UM10 (UTC - 10:00) Hawaii-Aleutian Standard Time, Cook Islands
Derek Jonesce79be02012-06-25 23:23:46 -0700420UM95 (UTC - 09:30) Marquesas Islands
Andrey Andreev48a86752012-11-08 15:16:34 +0200421UM9 (UTC - 09:00) Alaska Standard Time, Gambier Islands
422UM8 (UTC - 08:00) Pacific Standard Time, Clipperton Island
423UM7 (UTC - 11:00) Mountain Standard Time
424UM6 (UTC - 06:00) Central Standard Time
425UM5 (UTC - 05:00) Eastern Standard Time, Western Caribbean
Derek Jonesce79be02012-06-25 23:23:46 -0700426UM45 (UTC - 04:30) Venezuelan Standard Time
Andrey Andreev48a86752012-11-08 15:16:34 +0200427UM4 (UTC - 04:00) Atlantic Standard Time, Eastern Caribbean
Derek Jonesce79be02012-06-25 23:23:46 -0700428UM35 (UTC - 03:30) Newfoundland Standard Time
Andrey Andreev48a86752012-11-08 15:16:34 +0200429UM3 (UTC - 03:00) Argentina, Brazil, French Guiana, Uruguay
430UM2 (UTC - 02:00) South Georgia/South Sandwich Islands
AdwinTrave7a091522013-07-15 13:36:51 -0400431UM1 (UTC -1:00) Azores, Cape Verde Islands
Andrey Andreev48a86752012-11-08 15:16:34 +0200432UTC (UTC) Greenwich Mean Time, Western European Time
433UP1 (UTC +1:00) Central European Time, West Africa Time
434UP2 (UTC +2:00) Central Africa Time, Eastern European Time
435UP3 (UTC +3:00) Moscow Time, East Africa Time
Derek Jonesce79be02012-06-25 23:23:46 -0700436UP35 (UTC +3:30) Iran Standard Time
Andrey Andreev48a86752012-11-08 15:16:34 +0200437UP4 (UTC +4:00) Azerbaijan Standard Time, Samara Time
Derek Jonesce79be02012-06-25 23:23:46 -0700438UP45 (UTC +4:30) Afghanistan
Andrey Andreev48a86752012-11-08 15:16:34 +0200439UP5 (UTC +5:00) Pakistan Standard Time, Yekaterinburg Time
Derek Jonesce79be02012-06-25 23:23:46 -0700440UP55 (UTC +5:30) Indian Standard Time, Sri Lanka Time
441UP575 (UTC +5:45) Nepal Time
Andrey Andreev48a86752012-11-08 15:16:34 +0200442UP6 (UTC +6:00) Bangladesh Standard Time, Bhutan Time, Omsk Time
Derek Jonesce79be02012-06-25 23:23:46 -0700443UP65 (UTC +6:30) Cocos Islands, Myanmar
Andrey Andreev48a86752012-11-08 15:16:34 +0200444UP7 (UTC +7:00) Krasnoyarsk Time, Cambodia, Laos, Thailand, Vietnam
445UP8 (UTC +8:00) Australian Western Standard Time, Beijing Time
Derek Jonesce79be02012-06-25 23:23:46 -0700446UP875 (UTC +8:45) Australian Central Western Standard Time
Andrey Andreev48a86752012-11-08 15:16:34 +0200447UP9 (UTC +9:00) Japan Standard Time, Korea Standard Time, Yakutsk
Derek Jonesce79be02012-06-25 23:23:46 -0700448UP95 (UTC +9:30) Australian Central Standard Time
449UP10 (UTC +10:00) Australian Eastern Standard Time, Vladivostok Time
450UP105 (UTC +10:30) Lord Howe Island
451UP11 (UTC +11:00) Magadan Time, Solomon Islands, Vanuatu
452UP115 (UTC +11:30) Norfolk Island
453UP12 (UTC +12:00) Fiji, Gilbert Islands, Kamchatka, New Zealand
454UP1275 (UTC +12:45) Chatham Islands Standard Time
AdwinTrave7a091522013-07-15 13:36:51 -0400455UP13 (UTC +13:00) Phoenix Islands Time, Tonga
Derek Jonesce79be02012-06-25 23:23:46 -0700456UP14 (UTC +14:00) Line Islands
Andrey Andreev58f677f2013-07-16 11:01:37 +0300457=========== =====================================================================