Calculates, displays and automatically updates times and dates in different timezones with respect to daylight saving.
Plan your travels with the free JourneyCalculator which is based on TimeZoneCalculator.
Please find the version for WordPress
Plugin’s website:https://www.bernhard-riedl.com/projects/
Author’s website:https://www.bernhard-riedl.com/
Attention! – Geeks’ stuff ahead! 😉
With TimeZoneCalculator 2.00 and higher you can also realize a html select which displays for example the airtime of your internet radio station or your broadcasts in your users’ local time. Another possibility for the usage of the upcoming function is the integration of date, time and timezone information into your travelling blog.
Parameters can either be passed as an array or a URL query type string (e.g. “display=0&format=0”). Please note that WordPress parses all arguments as strings, thus booleans have to be 0 or 1 if used in query type strings whereas for arrays real booleans should be used. – Furthermore you have to break your timezones with \n : America/New_York;EST;EWT;New York, NY, US;New York, NY, US;0;0\nEurope/Vienna;;;sleep longer in winter;get up earlier to enjoy the sun;1;0
if you want to use different timezones in a query_string. In case you use an array, an array should also be used for the timezones.
function $timezonecalculator->output($params=array())
$params:
query_time
: any unix timestamp (where -1262304000 <= query_time <= 2145916800
) or any English textual datetime description in the range of 1930-01-01
and 2038-01-01
which can be parsed with PHP’s strtotime function; default is set to current UTC
query_timezone
: origin-timezone of query_time
; you can choose a PHP timezone_string; otherwise UTC
will be used
before_list
: default <ul>
after_list
: default </ul>
format_timezone
: default <li><abbr title="%name">%abbreviation</abbr>: <span title="%name">%datetime</span></li>
format_datetime
: default Y-m-d H:i
timezones
: alternative timezones-array – each array entry has to be a string as described in the Manual Selection Section of the Admin Menu; default is the timezones-entries array which can be modified in the Admin Menu
prefer_user_timezones
: prefer user set timezones – if they exist – to global or function call timezones; default is false
user_id
: determines which user’s timezones should be used; not set as default -> use the timezones of the user who is currently logged in
use_container
: if set to true
(default value), the current UTC is used as query_time
and the same selected timezones and format is used as set in the admin menu, TimeZoneCalculator wraps the output in a html div with the class timezonecalculator-refreshable-output
– the class timezonecalculator-output
will be used for all other output; if you set use_container
to false
, no container div will be generated
display
: if you want to return the timezone-information (e.g. for storing in a variable) instead of echoing it with this function-call, set this to false
; default setting is true
format_container
: This option can be used to format the div
container with css. Please note, that it should only be used to provide individual formats in case the class-style itself cannot be changed.
no_refresh
: If set to true, TimeZoneCalculator will not produce any Ajax-Refresh-code, even if you have enabled the Ajax refresh in the admin menu.
Example for including a world-clock in your post-template (usually single.php or post.php in wp-content/themes) using WordPress the_date() function:
Find something similar to
the_date();
or
the_time();
and replace it with
<?php $timezonecalculator->output(array('query_time' => the_date('U', '', '', false))); ?>
This outputs your selected timezones, whereas calculations are based on the timestamp of your post instead of using the current UTC.
General Example:
Enter the following text anywhere in a post or page to inform the clan when to meet up again:
let's meet tomorrow for a new challenge at: [timezonecalculator_output query_time="tomorrow 8pm" query_timezone="Europe/Vienna" timezones="Europe/Vienna\nAsia/Bangkok"]
Available Shortcode:
timezonecalculator_output
Invokes $timezonecalculator->output($params)
. Please note that you have to use a query_string to select timezones which can be parsed into an associative array. – For example: America/New_York;EST;EWT;New York, NY, US;New York, NY, US;0;0\nEurope/Vienna;;;sleep longer in winter;get up earlier to enjoy the sun;1;0
Available Filters:
timezonecalculator_defaults
In case you want to set the default parameters globally rather than handing them over on every function call, you can add the filtertimezonecalculator_defaults
in for example timezonecalculator.php or your own customization plugin (recommended).
Please note that parameters which you hand over to a function call ($timezonecalculator->output
) will always override the defaults parameters, even if they have been set by a filter or in the admin menu.
timezonecalculator_dashboard_widget
Receives an array which is used for the dashboard-widget-function call to $timezonecalculator->output($params)
. display
and use_container
will automatically be set to true.
timezonecalculator_dashboard_right_now
Receives an array which is used for the right-now-box-function call to $timezonecalculator->output($params)
. display
and use_container
will automatically be set to true.
timezonecalculator_world_clock_tools_page
Receives an array which is used for the world-clock-function call on the tools-page to $timezonecalculator->output($params)
. display
, use_container
and prefer_user_timezones
will automatically be set to true.
timezonecalculator_user_profile
Receives an array which is used for the user-profile-function call to $timezonecalculator->output($params)
. display
, use_container
and prefer_user_timezones
will automatically be set to true.
timezonecalculator_admin_bar_clock
Receives an array which is used for the admin-bar-clock-function call to $timezonecalculator->output($params)
. display
will automatically be set to false and use_container
to true. Moreover, the timezones
will be set to Local_WordPress_Time. The filter timezonecalculator_admin_bar_clock_format_container
will be used as default format for the clock.
timezonecalculator_admin_bar_clock_format_container
Receives a string which represents the container style.
timezonecalculator_admin_bar_clock_position
Position of the clock in the Admin Bar (see wp-includes/class-wp-admin-bar.php
function add_menus
). Default is 1000
which is the last position.
timezonecalculator_calculator
Receives an array which is used for the calculator-page function call to $timezonecalculator->output($params)
. display
, use_container
will automatically be set to true.
timezonecalculator_calculator_timezone
Receives a timezone-string which is used for the calculator-page.
timezonecalculator_calculator_format_date
Receives an array whereas each entry represents a date-format. The first date-format will be used as display-format in the textfield.
timezonecalculator_calculator_format_time
Receives a string which is used to determine whether to use 12 or 24-hour clock. In case this string contains a
or A
, the 12-hour clock will be preferred.
Copy the timezonecalculator
directory into your WordPress Plugins directory (usually wp-content/plugins). Hint: You can also conduct this step within your Admin Menu.
In the WordPress Admin Menu go to the Plugins tab and activate the TimeZoneCalculator plugin.
Navigate to the Settings/TimeZoneCalculator tab and customize the timezones according to your desires.
If you have widget functionality just drag and drop TimeZoneCalculator on your widget area in the Appearance Menu. Add additional function and shortcode calls according to your desires.
Be happy and celebrate! (and maybe you want to add a link to https://www.bernhard-riedl.com/projects/)
This screenshot shows the Settings/TimeZoneCalculator Tab with the Selection GUI Section in the Admin Menu.
This picture presents the Preview Section of the TimeZoneCalculator Tab in the Admin Menu.
This screenshot illustrates the clock in the WordPress Admin Bar. - The date/time and display format can be customized.
The last picture shows the Calculator Section in the Tools Menu on a mobile phone.
Copy the timezonecalculator
directory into your WordPress Plugins directory (usually wp-content/plugins). Hint: You can also conduct this step within your Admin Menu.
In the WordPress Admin Menu go to the Plugins tab and activate the TimeZoneCalculator plugin.
Navigate to the Settings/TimeZoneCalculator tab and customize the timezones according to your desires.
If you have widget functionality just drag and drop TimeZoneCalculator on your widget area in the Appearance Menu. Add additional function and shortcode calls according to your desires.
Be happy and celebrate! (and maybe you want to add a link to https://www.bernhard-riedl.com/projects/)
TimeZoneCalculator uses the PHP timezones library. Thus, please make sure that you have a recent version of PHP including this library installed and enabled.
If any timezone information like offset, abbreviations, etc. appears to be wrong, please leave a message for the PHP guys on their board.
This section is based on JavaScript. Thus, you have to enable JavaScript in your browser (this is a default setting in modern browsers like Mozilla Firefox or Google Chrome). TimeZoneCalculator is still fully functional without JavaScript, but you need to customize your timezones manually. If you use a device with a smaller display (e.g. mobile phone), this section will also be hidden.
Allow anonymous Ajax Refresh Requests
with All users can view timezones
and added the option Capability to view timezones
to define the capability of a certain user to access the timezones)wp_localize_script
(TimeZoneCalculator is now compatible with WP Minify)$params['user_id']
as argument of $timezonecalculator->output()
to make it possible for users to access the timezones of other users$timezonecalculator->output()
GetTimeZoneTime()