Вы потребляете дату / время и правильно устанавливаете часовой пояс, однако перед форматированием даты и времени вы не устанавливаете желаемый часовой пояс. Вот пример, который принимает часовой пояс UTC и преобразует дату / время в часовой пояс America / Los_Angeles:
<?php
$original_datetime = '04/01/2013 03:08 PM';
$original_timezone = new DateTimeZone('UTC');
// Instantiate the DateTime object, setting it's date, time and time zone.
$datetime = new DateTime($original_datetime, $original_timezone);
// Set the DateTime object's time zone to convert the time appropriately.
$target_timezone = new DateTimeZone('America/Los_Angeles');
$datetime->setTimeZone($target_timezone);
// Outputs a date/time string based on the time zone you've set on the object.
$triggerOn = $datetime->format('Y-m-d H:i:s');
// Print the date/time string.
print $triggerOn; // 2013-04-01 08:08:00
Так как мне не хватает репутации, чтобы оставлять комментарии, я должен опубликовать это как ответ. Во-первых, keyCode
является устаревшим , в настоящее время вы должны просто использовать event.key
, что также делает код более понятным для вас, поскольку ключ просто "a"
.
Другая проблема заключается в том, что вы получаете выбранные объекты с помощью select.getFeatures (), который либо возвращает компонент или коллекцию (см. API ). Объект не имеет метода clear
, но вы можете получить слой, а затем удалить выбранный объект из его источника. Это может выглядеть примерно так:
var selectSource = select.getLayer(selectedFeature).getSource();
selectSource.removeFeature(selectedFeature);
это при условии, что вы выбираете одну функцию, в противном случае вы можете зациклить выбранные функции.