# GMT Функция скрипта и диаграммы

Эта функция возвращает текущее значение Greenwich Mean Time согласно региональным настройкам. Эта функция возвращает значения в формате системной переменной `TimestampFormat`.

При каждой перезагрузке приложения все таблицы скрипта загрузки, переменные или объекты диаграммы, использующие функцию `GMT`, будут скорректированы с учетом самого актуального текущего среднего времени по Гринвичу, полученного от системных часов.

Синтаксис:

GMT( )

Возвращаемые типы данных: двойное значение

В этих примерах используется формат метки времени `M/D/YYYY h:mm:ss[.fff] TT`. Формат даты указан в операторе `SET TimestampFormat` в верхней части скрипта загрузки данных. Измените формат в примерах согласно своим пожеланиям.

Примеры функции

| Пример | Результат |
| --- | --- |
| `GMT()` | 3/28/2022 2:47:36 PM |

## Региональные настройки

Если не указано иное, в примерах, приведенных в данном разделе, используется следующий формат даты: MM/DD/YYYY. Формат даты указан в операторе `SET DateFormat` скрипта загрузки данных. В вашей системе может быть установлен другой формат даты по умолчанию в зависимости от региональных настроек и других факторов. Можно изменить формат в примерах в соответствии с потребностями. Или можно изменить форматы в скрипте загрузки в соответствии с этими примерами.

Региональные настройки по умолчанию в приложениях основаны на системных региональных настройках компьютера или сервера, где установлено ПО Qlik Sense. Если на сервере Qlik Sense, к которому вы обращаетесь, выбран шведский язык, то редактор загрузки данных будет использовать шведские региональные настройки для даты, времени и валюты. Эти параметры регионального формата не связаны с языком, отображаемым в Qlik Sense интерфейсе пользователя. Qlik Sense будет отображаться на том же языке, что и используемый вами браузер.

## Пример 1. Переменная (скрипт)

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/GMT.htm)

#### Скрипт загрузки и результаты

Обзор

Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку. В этом примере текущее среднее время по Гринвичу задается в качестве переменной в скрипте загрузки с использованием функции `GMT`.

Скрипт загрузки

```

LET vGMT = GMT();
```

Результаты

Загрузите данные и создайте лист. Создайте текстовое поле, используя объект диаграммы Текст и изображение.

Добавьте эту меру в текстовое поле:

`=vGMT`

Текстовое поле должно содержать строку текста с датой и временем, как показано ниже:

`3/28/2022 2:47:36 PM`

## Пример 2. Начало года в ноябре (скрипт)

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/GMT.htm)

#### Скрипт загрузки и результаты

Обзор

Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки в новый раздел.

Скрипт загрузки содержит следующее:

* Набор данных, содержащий не возвращенные в срок библиотечные книги, который загружается в таблицу под именем `Overdue`. Используется системная переменная `DateFormat` со значением по умолчанию MM/DD/YYYY.

* Создается новое поле `days_overdue`, которое вычисляет срок задержки возврата каждой книги.

Скрипт загрузки

```
SET DateFormat='MM/DD/YYYY'; 

Overdue: 
    Load 
        *,
        Floor(GMT()-due_date) as days_overdue
        ;
Load 
*
Inline
[
cust_id,book_id,due_date
1,4,01/01/2021,
2,24,01/10/2021,
6,173,01/31/2021,
31,281,02/01/2021,
86,265,02/10/2021,
52,465,06/30/2021,
26,537,07/26/2021,
92,275,10/31/2021,
27,455,11/01/2021,
27,46,12/31/2021
];
```

Результаты

Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:

* `due_date`

* `book_id`

* `days_overdue`

Результирующая таблица

| due\_date | идентификатор\_книги | дней\_просрочки |
| --- | --- | --- |
| 01/01/2021 | 4 | 455 |
| 01.10.2021 | 24 | 446 |
| 31.01.2021 | 173 | 425 |
| 01.02.2021 | 281 | 424 |
| 10.02.2021 | 265 | 415 |
| 06/30/2021 | 465 | 275 |
| 07/26/2021 | 537 | 249 |
| 31.10.2021 | 275 | 152 |
| 11/01/2021 | 455 | 151 |
| 12/31/2021 | 46 | 91 |

Значения в поле `days_overdue` вычисляются как разница между текущим средним временем по Гринвичу, полученным с помощью функции `GMT()`, и первоначальным сроком. Чтобы вычислить только дни, результаты округляются до ближайшего целого числа с использованием функции `Floor()`.

## Пример 3. Объект диаграммы (диаграмма)

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/GMT.htm)

#### Скрипт загрузки и выражение диаграммы

Обзор

Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку. Скрипт загрузки содержит тот же набор данных, что в первом примере. Используется системная переменная `DateFormat` со значением по умолчанию MM/DD/YYYY.

Однако в этом примере в приложение загружается неизмененный набор данных. Количество дней задержки вычисляется с использованием меры в объекте диаграммы.

Скрипт загрузки

```
SET DateFormat='MM/DD/YYYY';
					
Overdue:
Load
*
Inline
[
cust_id,book_id,due_date
1,4,01/01/2021,
2,24,01/10/2021,
6,173,01/31/2021,
31,281,02/01/2021,
86,265,02/10/2021,
52,465,06/30/2021,
26,537,07/26/2021,
92,275,10/31/2021,
27,455,11/01/2021,
27,46,12/31/2021
];
```

Результаты

Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:

* `due_date`

* `book_id`

Создайте следующую меру:

`=Floor(GMT() – due_date)`

Результирующая таблица

| due\_date | идентификатор\_книги | =Floor(GMT()-дата\_возврата) |
| --- | --- | --- |
| 01/01/2021 | 4 | 455 |
| 01.10.2021 | 24 | 446 |
| 31.01.2021 | 173 | 425 |
| 01.02.2021 | 281 | 424 |
| 10.02.2021 | 265 | 415 |
| 06/30/2021 | 465 | 275 |
| 07/26/2021 | 537 | 249 |
| 31.10.2021 | 275 | 152 |
| 11/01/2021 | 455 | 151 |
| 12/31/2021 | 46 | 91 |

Значения в поле `days_overdue` вычисляются как разница между текущим средним временем по Гринвичу, полученным с помощью функции `GMT()`, и первоначальным сроком. Чтобы вычислить только дни, результаты округляются до ближайшего целого числа с использованием функции `Floor()`.