summaryrefslogtreecommitdiffstats
path: root/user_guide_src/source/helpers/date_helper.rst
diff options
context:
space:
mode:
Diffstat (limited to 'user_guide_src/source/helpers/date_helper.rst')
-rw-r--r--user_guide_src/source/helpers/date_helper.rst621
1 files changed, 299 insertions, 322 deletions
diff --git a/user_guide_src/source/helpers/date_helper.rst b/user_guide_src/source/helpers/date_helper.rst
index 8126eba6c..39a9cb325 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,396 +18,368 @@ This helper is loaded using the following code::
$this->load->helper('date');
+Available Functions
+===================
+
The following functions are available:
-now()
-=====
-.. php: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: UNIX timestamp
+ :rtype: int
- echo now('Australia/Victoria');
+ 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.
+ ::
-If a timezone is not provided, it will return ``time()`` based on the
-**time_reference** setting.
+ echo now('Australia/Victoria');
-mdate()
-=======
+ If a timezone is not provided, it will return ``time()`` based on the
+ **time_reference** setting.
-.. php: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`
+ :param string $datestr: Date string
+ :param int $time: UNIX timestamp
+ :returns: MySQL-formatted date
+ :rtype: string
-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.
+ 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`
-Example::
+ 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.
- $datestring = 'Year: %Y Month: %m Day: %d - %h:%i %a';
- $time = time();
- echo mdate($datestring, $time);
+ Example::
-If a timestamp is not included in the second parameter the current time
-will be used.
+ $datestring = 'Year: %Y Month: %m Day: %d - %h:%i %a';
+ $time = time();
+ echo mdate($datestring, $time);
-standard_date()
-===============
+ If a timestamp is not included in the second parameter the current time
+ will be used.
-.. php: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.
+ :param int $time: UNIX timestamp
+ :returns: Formatted date or FALSE on invalid format
+ :rtype: string
-Example::
+ Lets you generate a date string in one of several standardized formats.
- $format = 'DATE_RFC822';
- $time = time();
- echo standard_date($format, $time);
+ Example::
-.. 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:
+ $format = 'DATE_RFC822';
+ $time = time();
+ echo standard_date($format, $time);
- |
- | echo date(DATE_RFC822, 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::
-Supported formats
------------------
+ echo date(DATE_RFC822, time());
-=============== ======================= ======================================
-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
-=============== ======================= ======================================
+ **Supported formats:**
-local_to_gmt()
-==============
+ =============== ======================= ======================================
+ 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
+ =============== ======================= ======================================
-.. php:function:: local_to_gmt($time = '')
+.. function:: local_to_gmt([$time = ''])
:param int $time: UNIX timestamp
- :returns: string
+ :returns: UNIX timestamp
+ :rtype: int
-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]]])
-.. php:function:: gmt_to_local($time = '', $timezone = 'UTC', $dst = FALSE)
-
- :param int $time: UNIX timestamp
+ :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.
+ :param bool $dst: Whether DST is active
+ :returns: UNIX timestamp
+ :rtype: int
-Example::
+ 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.
- $timestamp = 1140153693;
- $timezone = 'UM8';
- $daylight_saving = TRUE;
- echo gmt_to_local($timestamp, $timezone, $daylight_saving);
+ Example::
+ $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.
-mysql_to_unix()
-===============
+ .. note:: For a list of timezones see the reference at the bottom of this page.
-.. php:function:: mysql_to_unix($time = '')
+.. function:: mysql_to_unix([$time = ''])
- :param int $time: UNIX timestamp
- :returns: int
+ :param string $time: MySQL timestamp
+ :returns: UNIX timestamp
+ :rtype: 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()
-===============
-
-.. php: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::
+ :returns: Formatted date
+ :rtype: string
- YYYY-MM-DD HH:MM:SS AM/PM
+ Takes a UNIX timestamp as input and returns it in a human readable
+ format with this prototype::
-This can be useful if you need to display a date in a form field for
-submission.
+ YYYY-MM-DD HH:MM:SS AM/PM
-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.
+ This can be useful if you need to display a date in a form field for
+ submission.
-Examples::
+ 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.
- $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
+ Examples::
-human_to_unix()
-===============
+ $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
-.. php:function:: human_to_unix($datestr = '')
+.. function:: human_to_unix([$datestr = ''])
- :param int $datestr: Date string
- :returns: int UNIX timestamp or FALSE on failure
+ :param int $datestr: Date string
+ :returns: UNIX timestamp or FALSE on failure
+ :rtype: int
-The opposite of the :php: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()
-===========
-
-.. php: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.
+ :returns: Formatted date
+ :rtype: string
-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.
+ This function can take a number poorly-formed date formats and convert
+ them into something useful. It also accepts well-formed dates.
-Example::
+ 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.
- $bad_date = '199605';
- // Should Produce: 1996-05-01
- $better_date = nice_date($bad_date, 'Y-m-d');
+ Example::
- $bad_date = '9-11-2001';
- // Should Produce: 2001-09-11
- $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');
-timespan()
-==========
+ $bad_date = '9-11-2001';
+ // Should Produce: 2001-09-11
+ $better_date = nice_date($bad_date, 'Y-m-d');
-.. php: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
+ :returns: Formatted time difference
+ :rtype: 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()
-===============
-
-.. php: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: Count of days in the specified month
+ :rtype: int
-Example::
+ Returns the number of days in a given month/year. Takes leap years into
+ account.
- echo days_in_month(06, 2005);
+ Example::
-If the second parameter is empty, the current year will be used.
+ echo days_in_month(06, 2005);
-date_range()
-============
+ If the second parameter is empty, the current year will be used.
-.. php: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
:param bool $is_unix: set to FALSE if $mixed is not a timestamp
:param string $format: Output date format, same as in ``date()``
- :returns: array
-
-Returns a list of dates within a specified period.
+ :returns: An array of dates
+ :rtype: array
-Example::
+ Returns a list of dates within a specified period.
- $range = date_range('2012-01-01', '2012-01-15');
- echo "First 15 days of 2012:";
- foreach ($range as $date)
- {
- echo $date."\n";
- }
+ Example::
-timezones()
-===========
+ $range = date_range('2012-01-01', '2012-01-15');
+ echo "First 15 days of 2012:";
+ foreach ($range as $date)
+ {
+ echo $date."\n";
+ }
-.. php:function:: timezones($tz = '')
+.. function:: timezones([$tz = ''])
- :param string $tz: a numeric timezone
- :returns: string
+ :param string $tz: A numeric timezone
+ :returns: Hour difference from UTC
+ :rtype: int
-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 :php:func:`timezone_menu()`.
+ This function is useful when used with :func:`timezone_menu()`.
-timezone_menu()
-===============
-
-.. php: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
:param string $name: Menu name
: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`
-
+ :returns: HTML drop down menu with time zones
+ :rtype: 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`
Timezone Reference
==================
@@ -411,47 +388,47 @@ The following table indicates each timezone and its location.
Note some of the location lists have been abridged for clarity and formatting.
-=========== =====================================================================
-Time Zone Location
-=========== =====================================================================
-UM12 (UTC - 12:00) Baker/Howland Island
-UM11 (UTC - 11:00) Samoa Time Zone, Niue
-UM10 (UTC - 10:00) Hawaii-Aleutian Standard Time, Cook Islands
-UM95 (UTC - 09:30) Marquesas Islands
-UM9 (UTC - 09:00) Alaska Standard Time, Gambier Islands
-UM8 (UTC - 08:00) Pacific Standard Time, Clipperton Island
-UM7 (UTC - 11:00) Mountain Standard Time
-UM6 (UTC - 06:00) Central Standard Time
-UM5 (UTC - 05:00) Eastern Standard Time, Western Caribbean
-UM45 (UTC - 04:30) Venezuelan Standard Time
-UM4 (UTC - 04:00) Atlantic Standard Time, Eastern Caribbean
-UM35 (UTC - 03:30) Newfoundland Standard Time
-UM3 (UTC - 03:00) Argentina, Brazil, French Guiana, Uruguay
-UM2 (UTC - 02:00) South Georgia/South Sandwich Islands
-UM1 (UTC -1:00) Azores, Cape Verde Islands
-UTC (UTC) Greenwich Mean Time, Western European Time
-UP1 (UTC +1:00) Central European Time, West Africa Time
-UP2 (UTC +2:00) Central Africa Time, Eastern European Time
-UP3 (UTC +3:00) Moscow Time, East Africa Time
-UP35 (UTC +3:30) Iran Standard Time
-UP4 (UTC +4:00) Azerbaijan Standard Time, Samara Time
-UP45 (UTC +4:30) Afghanistan
-UP5 (UTC +5:00) Pakistan Standard Time, Yekaterinburg Time
-UP55 (UTC +5:30) Indian Standard Time, Sri Lanka Time
-UP575 (UTC +5:45) Nepal Time
-UP6 (UTC +6:00) Bangladesh Standard Time, Bhutan Time, Omsk Time
-UP65 (UTC +6:30) Cocos Islands, Myanmar
-UP7 (UTC +7:00) Krasnoyarsk Time, Cambodia, Laos, Thailand, Vietnam
-UP8 (UTC +8:00) Australian Western Standard Time, Beijing Time
-UP875 (UTC +8:45) Australian Central Western Standard Time
-UP9 (UTC +9:00) Japan Standard Time, Korea Standard Time, Yakutsk
-UP95 (UTC +9:30) Australian Central Standard Time
-UP10 (UTC +10:00) Australian Eastern Standard Time, Vladivostok Time
-UP105 (UTC +10:30) Lord Howe Island
-UP11 (UTC +11:00) Magadan Time, Solomon Islands, Vanuatu
-UP115 (UTC +11:30) Norfolk Island
-UP12 (UTC +12:00) Fiji, Gilbert Islands, Kamchatka, New Zealand
-UP1275 (UTC +12:45) Chatham Islands Standard Time
-UP13 (UTC +13:00) Phoenix Islands Time, Tonga
-UP14 (UTC +14:00) Line Islands
+=========== =====================================================================
+Time Zone Location
+=========== =====================================================================
+UM12 (UTC - 12:00) Baker/Howland Island
+UM11 (UTC - 11:00) Samoa Time Zone, Niue
+UM10 (UTC - 10:00) Hawaii-Aleutian Standard Time, Cook Islands
+UM95 (UTC - 09:30) Marquesas Islands
+UM9 (UTC - 09:00) Alaska Standard Time, Gambier Islands
+UM8 (UTC - 08:00) Pacific Standard Time, Clipperton Island
+UM7 (UTC - 11:00) Mountain Standard Time
+UM6 (UTC - 06:00) Central Standard Time
+UM5 (UTC - 05:00) Eastern Standard Time, Western Caribbean
+UM45 (UTC - 04:30) Venezuelan Standard Time
+UM4 (UTC - 04:00) Atlantic Standard Time, Eastern Caribbean
+UM35 (UTC - 03:30) Newfoundland Standard Time
+UM3 (UTC - 03:00) Argentina, Brazil, French Guiana, Uruguay
+UM2 (UTC - 02:00) South Georgia/South Sandwich Islands
+UM1 (UTC -1:00) Azores, Cape Verde Islands
+UTC (UTC) Greenwich Mean Time, Western European Time
+UP1 (UTC +1:00) Central European Time, West Africa Time
+UP2 (UTC +2:00) Central Africa Time, Eastern European Time
+UP3 (UTC +3:00) Moscow Time, East Africa Time
+UP35 (UTC +3:30) Iran Standard Time
+UP4 (UTC +4:00) Azerbaijan Standard Time, Samara Time
+UP45 (UTC +4:30) Afghanistan
+UP5 (UTC +5:00) Pakistan Standard Time, Yekaterinburg Time
+UP55 (UTC +5:30) Indian Standard Time, Sri Lanka Time
+UP575 (UTC +5:45) Nepal Time
+UP6 (UTC +6:00) Bangladesh Standard Time, Bhutan Time, Omsk Time
+UP65 (UTC +6:30) Cocos Islands, Myanmar
+UP7 (UTC +7:00) Krasnoyarsk Time, Cambodia, Laos, Thailand, Vietnam
+UP8 (UTC +8:00) Australian Western Standard Time, Beijing Time
+UP875 (UTC +8:45) Australian Central Western Standard Time
+UP9 (UTC +9:00) Japan Standard Time, Korea Standard Time, Yakutsk
+UP95 (UTC +9:30) Australian Central Standard Time
+UP10 (UTC +10:00) Australian Eastern Standard Time, Vladivostok Time
+UP105 (UTC +10:30) Lord Howe Island
+UP11 (UTC +11:00) Magadan Time, Solomon Islands, Vanuatu
+UP115 (UTC +11:30) Norfolk Island
+UP12 (UTC +12:00) Fiji, Gilbert Islands, Kamchatka, New Zealand
+UP1275 (UTC +12:45) Chatham Islands Standard Time
+UP13 (UTC +13:00) Phoenix Islands Time, Tonga
+UP14 (UTC +14:00) Line Islands
=========== ===================================================================== \ No newline at end of file