diff --git a/lib/outputcomponents.php b/lib/outputcomponents.php index 1998e1b4b9840..d930e4a060cca 100644 --- a/lib/outputcomponents.php +++ b/lib/outputcomponents.php @@ -2039,16 +2039,19 @@ private static function select_optgroup($groupname, $options, array $selected) { * @param int $currenttime A default timestamp in GMT * @param int $step minute spacing * @param array $attributes - html select element attributes - * @return HTML fragment + * @param float|int|string $timezone the timezone to use to calculate the time + * {@link https://moodledev.io/docs/apis/subsystems/time#timezone} + * @return string HTML fragment */ - public static function select_time($type, $name, $currenttime = 0, $step = 5, array $attributes = null) { + public static function select_time($type, $name, $currenttime = 0, $step = 5, array $attributes = null, $timezone = 99) { global $OUTPUT; if (!$currenttime) { $currenttime = time(); } $calendartype = \core_calendar\type_factory::get_calendar_instance(); - $currentdate = $calendartype->timestamp_to_date_array($currenttime); + $currentdate = $calendartype->timestamp_to_date_array($currenttime, $timezone); + $userdatetype = $type; $timeunits = array(); diff --git a/lib/upgrade.txt b/lib/upgrade.txt index 3598b75748654..09d7b6faca4e9 100644 --- a/lib/upgrade.txt +++ b/lib/upgrade.txt @@ -1,6 +1,10 @@ This files describes API changes in core libraries and APIs, information provided here is intended especially for developers. +=== 4.2.6 === + +* The `html_writer::select_time` method has a `$timezone` parameter to use when formatting the time parameter + === 4.2.5 === * The current page language is available in new `core/config` language property for Javascript modules diff --git a/mod/data/field/date/field.class.php b/mod/data/field/date/field.class.php index 97848814f4432..df3c213065759 100644 --- a/mod/data/field/date/field.class.php +++ b/mod/data/field/date/field.class.php @@ -80,9 +80,26 @@ function display_add_field($recordid = 0, $formdata = null) { } $str = '