summaryrefslogtreecommitdiffstats
path: root/user_guide_src/source/helpers
diff options
context:
space:
mode:
Diffstat (limited to 'user_guide_src/source/helpers')
-rw-r--r--user_guide_src/source/helpers/date_helper.rst460
1 files changed, 219 insertions, 241 deletions
diff --git a/user_guide_src/source/helpers/date_helper.rst b/user_guide_src/source/helpers/date_helper.rst
index 1a552c920..e9e122f1c 100644
--- a/user_guide_src/source/helpers/date_helper.rst
+++ b/user_guide_src/source/helpers/date_helper.rst
@@ -4,7 +4,12 @@ Date Helper
The Date Helper file contains functions that help you work with dates.
-.. contents:: Page Contents
+.. contents::
+ :local:
+
+.. raw:: html
+
+ <div class="custom-index container"></div>
Loading this Helper
===================
@@ -13,281 +18,258 @@ This helper is loaded using the following code::
$this->load->helper('date');
+Available Functions
+===================
+
The following functions are available:
-now()
-=====
-.. function:: now($timezone = NULL)
+.. function:: now([$timezone = NULL])
:param string $timezone: Timezone
:returns: int
-Returns the current time as a UNIX timestamp, referenced either to your server's
-local time or any PHP suported timezone, based on the "time reference" setting
-in your config file. If you do not intend to set your master time reference to
-any other PHP supported timezone (which you'll typically do if you run a site
-that lets each user set their own timezone settings) there is no benefit to using
-this function over PHP's ``time()`` function.
+ Returns the current time as a UNIX timestamp, referenced either to your server's
+ local time or any PHP suported timezone, based on the "time reference" setting
+ in your config file. If you do not intend to set your master time reference to
+ any other PHP supported timezone (which you'll typically do if you run a site
+ that lets each user set their own timezone settings) there is no benefit to using
+ this function over PHP's ``time()`` function.
-::
+ ::
- echo now('Australia/Victoria');
+ echo now('Australia/Victoria');
-If a timezone is not provided, it will return ``time()`` based on the
-**time_reference** setting.
+ If a timezone is not provided, it will return ``time()`` based on the
+ **time_reference** setting.
-mdate()
-=======
-.. function:: mdate($datestr = '', $time = '')
+.. function:: mdate([$datestr = ''[, $time = '']])
:param string $datestr: Date string
:param int $time: UNIX timestamp
:returns: int
-This function is identical to PHP's `date() <http://www.php.net/date>`_
-function, except that it lets you use MySQL style date codes, where each
-code letter is preceded with a percent sign, e.g. `%Y %m %d`
+ This function is identical to PHP's `date() <http://www.php.net/date>`_
+ function, except that it lets you use MySQL style date codes, where each
+ code letter is preceded with a percent sign, e.g. `%Y %m %d`
-The benefit of doing dates this way is that you don't have to worry
-about escaping any characters that are not date codes, as you would
-normally have to do with the ``date()`` function.
+ The benefit of doing dates this way is that you don't have to worry
+ about escaping any characters that are not date codes, as you would
+ normally have to do with the ``date()`` function.
-Example::
+ Example::
- $datestring = 'Year: %Y Month: %m Day: %d - %h:%i %a';
- $time = time();
- echo mdate($datestring, $time);
+ $datestring = 'Year: %Y Month: %m Day: %d - %h:%i %a';
+ $time = time();
+ echo mdate($datestring, $time);
-If a timestamp is not included in the second parameter the current time
-will be used.
+ If a timestamp is not included in the second parameter the current time
+ will be used.
-standard_date()
-===============
-.. function:: standard_date($fmt = 'DATE_RFC822', $time = NULL)
+.. function:: standard_date([$fmt = 'DATE_RFC822'[, $time = NULL]])
:param string $fmt: Date format
:param int $time: UNIX timestamp
:returns: string
-Lets you generate a date string in one of several standardized formats.
+ Lets you generate a date string in one of several standardized formats.
-Example::
+ Example::
- $format = 'DATE_RFC822';
- $time = time();
- echo standard_date($format, $time);
+ $format = 'DATE_RFC822';
+ $time = time();
+ echo standard_date($format, $time);
-.. note:: This function is DEPRECATED.Use the native ``date()`` combined with
- `DateTime's format constants
- <http://www.php.net/manual/en/class.datetime.php#datetime.constants.types>`_
- instead:
+ .. note:: This function is DEPRECATED.Use the native ``date()`` combined with
+ `DateTime's format constants
+ <http://www.php.net/manual/en/class.datetime.php#datetime.constants.types>`_
+ instead::
- |
- | echo date(DATE_RFC822, time());
+ echo date(DATE_RFC822, time());
-Supported formats
------------------
+ **Supported formats:**
-=============== ======================= ======================================
-Constant Description Example
-=============== ======================= ======================================
-DATE_ATOM Atom 2005-08-15T16:13:03+0000
-DATE_COOKIE HTTP Cookies Sun, 14 Aug 2005 16:13:03 UTC
-DATE_ISO8601 ISO-8601 2005-08-14T16:13:03+00:00
-DATE_RFC822 RFC 822 Sun, 14 Aug 05 16:13:03 UTC
-DATE_RFC850 RFC 850 Sunday, 14-Aug-05 16:13:03 UTC
-DATE_RFC1036 RFC 1036 Sunday, 14-Aug-05 16:13:03 UTC
-DATE_RFC1123 RFC 1123 Sun, 14 Aug 2005 16:13:03 UTC
-DATE_RFC2822 RFC 2822 Sun, 14 Aug 2005 16:13:03 +0000
-DATE_RSS RSS Sun, 14 Aug 2005 16:13:03 UTC
-DATE_W3C W3C 2005-08-14T16:13:03+0000
-=============== ======================= ======================================
+ =============== ======================= ======================================
+ Constant Description Example
+ =============== ======================= ======================================
+ DATE_ATOM Atom 2005-08-15T16:13:03+0000
+ DATE_COOKIE HTTP Cookies Sun, 14 Aug 2005 16:13:03 UTC
+ DATE_ISO8601 ISO-8601 2005-08-14T16:13:03+00:00
+ DATE_RFC822 RFC 822 Sun, 14 Aug 05 16:13:03 UTC
+ DATE_RFC850 RFC 850 Sunday, 14-Aug-05 16:13:03 UTC
+ DATE_RFC1036 RFC 1036 Sunday, 14-Aug-05 16:13:03 UTC
+ DATE_RFC1123 RFC 1123 Sun, 14 Aug 2005 16:13:03 UTC
+ DATE_RFC2822 RFC 2822 Sun, 14 Aug 2005 16:13:03 +0000
+ DATE_RSS RSS Sun, 14 Aug 2005 16:13:03 UTC
+ DATE_W3C W3C 2005-08-14T16:13:03+0000
+ =============== ======================= ======================================
-local_to_gmt()
-==============
-.. function:: local_to_gmt($time = '')
+.. function:: local_to_gmt([$time = ''])
:param int $time: UNIX timestamp
:returns: string
-Takes a UNIX timestamp as input and returns it as GMT.
+ Takes a UNIX timestamp as input and returns it as GMT.
-Example::
+ Example::
- $gmt = local_to_gmt(time());
+ $gmt = local_to_gmt(time());
-gmt_to_local()
-==============
-.. function:: gmt_to_local($time = '', $timezone = 'UTC', $dst = FALSE)
+.. function:: gmt_to_local([$time = ''[, $timezone = 'UTC'[, $dst = FALSE]]])
:param int $time: UNIX timestamp
:param string $timezone: Timezone
:param bool $dst: Whether DST is active
:returns: int
-Takes a UNIX timestamp (referenced to GMT) as input, and converts it to
-a localized timestamp based on the timezone and Daylight Saving Time
-submitted.
+ Takes a UNIX timestamp (referenced to GMT) as input, and converts it to
+ a localized timestamp based on the timezone and Daylight Saving Time
+ submitted.
-Example::
+ Example::
- $timestamp = 1140153693;
- $timezone = 'UM8';
- $daylight_saving = TRUE;
- echo gmt_to_local($timestamp, $timezone, $daylight_saving);
+ $timestamp = 1140153693;
+ $timezone = 'UM8';
+ $daylight_saving = TRUE;
+ echo gmt_to_local($timestamp, $timezone, $daylight_saving);
-.. note:: For a list of timezones see the reference at the bottom of this page.
+ .. note:: For a list of timezones see the reference at the bottom of this page.
-mysql_to_unix()
-===============
-.. function:: mysql_to_unix($time = '')
+.. function:: mysql_to_unix([$time = ''])
:param int $time: UNIX timestamp
:returns: int
-Takes a MySQL Timestamp as input and returns it as a UNIX timestamp.
+ Takes a MySQL Timestamp as input and returns it as a UNIX timestamp.
-Example::
+ Example::
- $unix = mysql_to_unix('20061124092345');
+ $unix = mysql_to_unix('20061124092345');
-unix_to_human()
-===============
-.. function:: unix_to_human($time = '', $seconds = FALSE, $fmt = 'us')
+.. function:: unix_to_human([$time = ''[, $seconds = FALSE[, $fmt = 'us']]])
:param int $time: UNIX timestamp
:param bool $seconds: Whether to show seconds
:param string $fmt: format (us or euro)
:returns: integer
-Takes a UNIX timestamp as input and returns it in a human readable
-format with this prototype::
+ Takes a UNIX timestamp as input and returns it in a human readable
+ format with this prototype::
- YYYY-MM-DD HH:MM:SS AM/PM
+ YYYY-MM-DD HH:MM:SS AM/PM
-This can be useful if you need to display a date in a form field for
-submission.
+ This can be useful if you need to display a date in a form field for
+ submission.
-The time can be formatted with or without seconds, and it can be set to
-European or US format. If only the timestamp is submitted it will return
-the time without seconds formatted for the U.S.
+ The time can be formatted with or without seconds, and it can be set to
+ European or US format. If only the timestamp is submitted it will return
+ the time without seconds formatted for the U.S.
-Examples::
+ Examples::
- $now = time();
- echo unix_to_human($now); // U.S. time, no seconds
- echo unix_to_human($now, TRUE, 'us'); // U.S. time with seconds
- echo unix_to_human($now, TRUE, 'eu'); // Euro time with seconds
+ $now = time();
+ echo unix_to_human($now); // U.S. time, no seconds
+ echo unix_to_human($now, TRUE, 'us'); // U.S. time with seconds
+ echo unix_to_human($now, TRUE, 'eu'); // Euro time with seconds
-human_to_unix()
-===============
-.. function:: human_to_unix($datestr = '')
+.. function:: human_to_unix([$datestr = ''])
:param int $datestr: Date string
:returns: int UNIX timestamp or FALSE on failure
-The opposite of the :func:`unix_to_time()` function. Takes a "human"
-time as input and returns it as a UNIX timestamp. This is useful if you
-accept "human" formatted dates submitted via a form. Returns boolean FALSE
-date string passed to it is not formatted as indicated above.
+ The opposite of the :func:`unix_to_time()` function. Takes a "human"
+ time as input and returns it as a UNIX timestamp. This is useful if you
+ accept "human" formatted dates submitted via a form. Returns boolean FALSE
+ date string passed to it is not formatted as indicated above.
-Example::
+ Example::
- $now = time();
- $human = unix_to_human($now);
- $unix = human_to_unix($human);
+ $now = time();
+ $human = unix_to_human($now);
+ $unix = human_to_unix($human);
-nice_date()
-===========
-.. function:: nice_date($bad_date = '', $format = FALSE)
+.. function:: nice_date([$bad_date = ''[, $format = FALSE]])
:param int $bad_date: The terribly formatted date-like string
:param string $format: Date format to return (same as PHP's ``date()`` function)
:returns: string
-This function can take a number poorly-formed date formats and convert
-them into something useful. It also accepts well-formed dates.
+ This function can take a number poorly-formed date formats and convert
+ them into something useful. It also accepts well-formed dates.
-The function will return a UNIX timestamp by default. You can, optionally,
-pass a format string (the same type as the PHP ``date()`` function accepts)
-as the second parameter.
+ The function will return a UNIX timestamp by default. You can, optionally,
+ pass a format string (the same type as the PHP ``date()`` function accepts)
+ as the second parameter.
-Example::
+ Example::
- $bad_date = '199605';
- // Should Produce: 1996-05-01
- $better_date = nice_date($bad_date, 'Y-m-d');
+ $bad_date = '199605';
+ // Should Produce: 1996-05-01
+ $better_date = nice_date($bad_date, 'Y-m-d');
- $bad_date = '9-11-2001';
- // Should Produce: 2001-09-11
- $better_date = nice_date($bad_date, 'Y-m-d');
+ $bad_date = '9-11-2001';
+ // Should Produce: 2001-09-11
+ $better_date = nice_date($bad_date, 'Y-m-d');
-timespan()
-==========
-.. function:: timespan($seconds = 1, $time = '', $units = '')
+.. function:: timespan([$seconds = 1[, $time = ''[, $units = '']]])
:param int $seconds: Number of seconds
:param string $time: UNIX timestamp
:param int $units: Number of time units to display
:returns: string
-Formats a UNIX timestamp so that is appears similar to this::
+ Formats a UNIX timestamp so that is appears similar to this::
- 1 Year, 10 Months, 2 Weeks, 5 Days, 10 Hours, 16 Minutes
+ 1 Year, 10 Months, 2 Weeks, 5 Days, 10 Hours, 16 Minutes
-The first parameter must contain a UNIX timestamp.
-The second parameter must contain a timestamp that is greater that the
-first timestamp.
-The thirdparameter is optional and limits the number of time units to display.
+ The first parameter must contain a UNIX timestamp.
+ The second parameter must contain a timestamp that is greater that the
+ first timestamp.
+ The thirdparameter is optional and limits the number of time units to display.
-If the second parameter empty, the current time will be used.
+ If the second parameter empty, the current time will be used.
-The most common purpose for this function is to show how much time has
-elapsed from some point in time in the past to now.
+ The most common purpose for this function is to show how much time has
+ elapsed from some point in time in the past to now.
-Example::
+ Example::
- $post_date = '1079621429';
- $now = time();
- $units = 2;
- echo timespan($post_date, $now, $units);
+ $post_date = '1079621429';
+ $now = time();
+ $units = 2;
+ echo timespan($post_date, $now, $units);
-.. note:: The text generated by this function is found in the following language
- file: `language/<your_lang>/date_lang.php`
+ .. note:: The text generated by this function is found in the following language
+ file: `language/<your_lang>/date_lang.php`
-days_in_month()
-===============
-.. function:: days_in_month($month = 0, $year = '')
+.. function:: days_in_month([$month = 0[, $year = '']])
:param int $month: a numeric month
:param int $year: a numeric year
:returns: int
-Returns the number of days in a given month/year. Takes leap years into
-account.
+ Returns the number of days in a given month/year. Takes leap years into
+ account.
-Example::
+ Example::
- echo days_in_month(06, 2005);
+ echo days_in_month(06, 2005);
-If the second parameter is empty, the current year will be used.
+ If the second parameter is empty, the current year will be used.
-date_range()
-============
-.. function:: date_range($unix_start = '', $mixed = '', $is_unix = TRUE, $format = 'Y-m-d')
+.. function:: date_range([$unix_start = ''[, $mixed = ''[, $is_unix = TRUE[, $format = 'Y-m-d']]]])
:param int $unix_start: UNIX timestamp of the range start date
:param int $mixed: UNIX timestamp of the range end date or interval in days
@@ -295,40 +277,36 @@ date_range()
:param string $format: Output date format, same as in ``date()``
:returns: array
-Returns a list of dates within a specified period.
+ Returns a list of dates within a specified period.
-Example::
+ Example::
- $range = date_range('2012-01-01', '2012-01-15');
- echo "First 15 days of 2012:";
- foreach ($range as $date)
- {
- echo $date."\n";
- }
+ $range = date_range('2012-01-01', '2012-01-15');
+ echo "First 15 days of 2012:";
+ foreach ($range as $date)
+ {
+ echo $date."\n";
+ }
-timezones()
-===========
-.. function:: timezones($tz = '')
+.. function:: timezones([$tz = ''])
:param string $tz: a numeric timezone
:returns: string
-Takes a timezone reference (for a list of valid timezones, see the
-"Timezone Reference" below) and returns the number of hours offset from
-UTC.
+ Takes a timezone reference (for a list of valid timezones, see the
+ "Timezone Reference" below) and returns the number of hours offset from
+ UTC.
-Example::
+ Example::
- echo timezones('UM5');
+ echo timezones('UM5');
-This function is useful when used with :func:`timezone_menu()`.
+ This function is useful when used with :func:`timezone_menu()`.
-timezone_menu()
-===============
-.. function:: timezone_menu($default = 'UTC', $class = '', $name = 'timezones', $attributes = '')
+.. function:: timezone_menu([$default = 'UTC'[, $class = ''[, $name = 'timezones'[, $attributes = '']]]])
:param string $default: Timezone
:param string $class: Class name
@@ -336,72 +314,72 @@ timezone_menu()
:param mixed $attributes: HTML attributes
:returns: string
-Generates a pull-down menu of timezones, like this one:
-
-.. raw:: html
-
- <form action="#">
- <select name="timezones">
- <option value='UM12'>(UTC -12:00) Baker/Howland Island</option>
- <option value='UM11'>(UTC -11:00) Samoa Time Zone, Niue</option>
- <option value='UM10'>(UTC -10:00) Hawaii-Aleutian Standard Time, Cook Islands, Tahiti</option>
- <option value='UM95'>(UTC -9:30) Marquesas Islands</option>
- <option value='UM9'>(UTC -9:00) Alaska Standard Time, Gambier Islands</option>
- <option value='UM8'>(UTC -8:00) Pacific Standard Time, Clipperton Island</option>
- <option value='UM7'>(UTC -7:00) Mountain Standard Time</option>
- <option value='UM6'>(UTC -6:00) Central Standard Time</option>
- <option value='UM5'>(UTC -5:00) Eastern Standard Time, Western Caribbean Standard Time</option>
- <option value='UM45'>(UTC -4:30) Venezuelan Standard Time</option>
- <option value='UM4'>(UTC -4:00) Atlantic Standard Time, Eastern Caribbean Standard Time</option>
- <option value='UM35'>(UTC -3:30) Newfoundland Standard Time</option>
- <option value='UM3'>(UTC -3:00) Argentina, Brazil, French Guiana, Uruguay</option>
- <option value='UM2'>(UTC -2:00) South Georgia/South Sandwich Islands</option>
- <option value='UM1'>(UTC -1:00) Azores, Cape Verde Islands</option>
- <option value='UTC' selected='selected'>(UTC) Greenwich Mean Time, Western European Time</option>
- <option value='UP1'>(UTC +1:00) Central European Time, West Africa Time</option>
- <option value='UP2'>(UTC +2:00) Central Africa Time, Eastern European Time, Kaliningrad Time</option>
- <option value='UP3'>(UTC +3:00) Moscow Time, East Africa Time</option>
- <option value='UP35'>(UTC +3:30) Iran Standard Time</option>
- <option value='UP4'>(UTC +4:00) Azerbaijan Standard Time, Samara Time</option>
- <option value='UP45'>(UTC +4:30) Afghanistan</option>
- <option value='UP5'>(UTC +5:00) Pakistan Standard Time, Yekaterinburg Time</option>
- <option value='UP55'>(UTC +5:30) Indian Standard Time, Sri Lanka Time</option>
- <option value='UP575'>(UTC +5:45) Nepal Time</option>
- <option value='UP6'>(UTC +6:00) Bangladesh Standard Time, Bhutan Time, Omsk Time</option>
- <option value='UP65'>(UTC +6:30) Cocos Islands, Myanmar</option>
- <option value='UP7'>(UTC +7:00) Krasnoyarsk Time, Cambodia, Laos, Thailand, Vietnam</option>
- <option value='UP8'>(UTC +8:00) Australian Western Standard Time, Beijing Time, Irkutsk Time</option>
- <option value='UP875'>(UTC +8:45) Australian Central Western Standard Time</option>
- <option value='UP9'>(UTC +9:00) Japan Standard Time, Korea Standard Time, Yakutsk Time</option>
- <option value='UP95'>(UTC +9:30) Australian Central Standard Time</option>
- <option value='UP10'>(UTC +10:00) Australian Eastern Standard Time, Vladivostok Time</option>
- <option value='UP105'>(UTC +10:30) Lord Howe Island</option>
- <option value='UP11'>(UTC +11:00) Magadan Time, Solomon Islands, Vanuatu</option>
- <option value='UP115'>(UTC +11:30) Norfolk Island</option>
- <option value='UP12'>(UTC +12:00) Fiji, Gilbert Islands, Kamchatka Time, New Zealand Standard Time</option>
- <option value='UP1275'>(UTC +12:45) Chatham Islands Standard Time</option>
- <option value='UP13'>(UTC +13:00) Phoenix Islands Time, Tonga</option>
- <option value='UP14'>(UTC +14:00) Line Islands</option>
- </select>
- </form>
-
-
-This menu is useful if you run a membership site in which your users are
-allowed to set their local timezone value.
-
-The first parameter lets you set the "selected" state of the menu. For
-example, to set Pacific time as the default you will do this::
-
- echo timezone_menu('UM8');
-
-Please see the timezone reference below to see the values of this menu.
-
-The second parameter lets you set a CSS class name for the menu.
-
-The fourth parameter lets you set one or more attributes on the generated select tag.
-
-.. note:: The text contained in the menu is found in the following
- language file: `language/<your_lang>/date_lang.php`
+ Generates a pull-down menu of timezones, like this one:
+
+ .. raw:: html
+
+ <form action="#">
+ <select name="timezones">
+ <option value='UM12'>(UTC -12:00) Baker/Howland Island</option>
+ <option value='UM11'>(UTC -11:00) Samoa Time Zone, Niue</option>
+ <option value='UM10'>(UTC -10:00) Hawaii-Aleutian Standard Time, Cook Islands, Tahiti</option>
+ <option value='UM95'>(UTC -9:30) Marquesas Islands</option>
+ <option value='UM9'>(UTC -9:00) Alaska Standard Time, Gambier Islands</option>
+ <option value='UM8'>(UTC -8:00) Pacific Standard Time, Clipperton Island</option>
+ <option value='UM7'>(UTC -7:00) Mountain Standard Time</option>
+ <option value='UM6'>(UTC -6:00) Central Standard Time</option>
+ <option value='UM5'>(UTC -5:00) Eastern Standard Time, Western Caribbean Standard Time</option>
+ <option value='UM45'>(UTC -4:30) Venezuelan Standard Time</option>
+ <option value='UM4'>(UTC -4:00) Atlantic Standard Time, Eastern Caribbean Standard Time</option>
+ <option value='UM35'>(UTC -3:30) Newfoundland Standard Time</option>
+ <option value='UM3'>(UTC -3:00) Argentina, Brazil, French Guiana, Uruguay</option>
+ <option value='UM2'>(UTC -2:00) South Georgia/South Sandwich Islands</option>
+ <option value='UM1'>(UTC -1:00) Azores, Cape Verde Islands</option>
+ <option value='UTC' selected='selected'>(UTC) Greenwich Mean Time, Western European Time</option>
+ <option value='UP1'>(UTC +1:00) Central European Time, West Africa Time</option>
+ <option value='UP2'>(UTC +2:00) Central Africa Time, Eastern European Time, Kaliningrad Time</option>
+ <option value='UP3'>(UTC +3:00) Moscow Time, East Africa Time</option>
+ <option value='UP35'>(UTC +3:30) Iran Standard Time</option>
+ <option value='UP4'>(UTC +4:00) Azerbaijan Standard Time, Samara Time</option>
+ <option value='UP45'>(UTC +4:30) Afghanistan</option>
+ <option value='UP5'>(UTC +5:00) Pakistan Standard Time, Yekaterinburg Time</option>
+ <option value='UP55'>(UTC +5:30) Indian Standard Time, Sri Lanka Time</option>
+ <option value='UP575'>(UTC +5:45) Nepal Time</option>
+ <option value='UP6'>(UTC +6:00) Bangladesh Standard Time, Bhutan Time, Omsk Time</option>
+ <option value='UP65'>(UTC +6:30) Cocos Islands, Myanmar</option>
+ <option value='UP7'>(UTC +7:00) Krasnoyarsk Time, Cambodia, Laos, Thailand, Vietnam</option>
+ <option value='UP8'>(UTC +8:00) Australian Western Standard Time, Beijing Time, Irkutsk Time</option>
+ <option value='UP875'>(UTC +8:45) Australian Central Western Standard Time</option>
+ <option value='UP9'>(UTC +9:00) Japan Standard Time, Korea Standard Time, Yakutsk Time</option>
+ <option value='UP95'>(UTC +9:30) Australian Central Standard Time</option>
+ <option value='UP10'>(UTC +10:00) Australian Eastern Standard Time, Vladivostok Time</option>
+ <option value='UP105'>(UTC +10:30) Lord Howe Island</option>
+ <option value='UP11'>(UTC +11:00) Magadan Time, Solomon Islands, Vanuatu</option>
+ <option value='UP115'>(UTC +11:30) Norfolk Island</option>
+ <option value='UP12'>(UTC +12:00) Fiji, Gilbert Islands, Kamchatka Time, New Zealand Standard Time</option>
+ <option value='UP1275'>(UTC +12:45) Chatham Islands Standard Time</option>
+ <option value='UP13'>(UTC +13:00) Phoenix Islands Time, Tonga</option>
+ <option value='UP14'>(UTC +14:00) Line Islands</option>
+ </select>
+ </form>
+
+
+ This menu is useful if you run a membership site in which your users are
+ allowed to set their local timezone value.
+
+ The first parameter lets you set the "selected" state of the menu. For
+ example, to set Pacific time as the default you will do this::
+
+ echo timezone_menu('UM8');
+
+ Please see the timezone reference below to see the values of this menu.
+
+ The second parameter lets you set a CSS class name for the menu.
+
+ The fourth parameter lets you set one or more attributes on the generated select tag.
+
+ .. note:: The text contained in the menu is found in the following
+ language file: `language/<your_lang>/date_lang.php`
Timezone Reference