# 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 – 年初 11 月（脚本）

[](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 | book\_id | days\_overdue |
| --- | --- | --- |
| 01/01/2021 | 4 | 455 |
| 01/10/2021 | 24 | 446 |
| 01/31/2021 | 173 | 425 |
| 02/01/2021 | 281 | 424 |
| 02/10/2021 | 265 | 415 |
| 06/30/2021 | 465 | 275 |
| 07/26/2021 | 537 | 249 |
| 10/31/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 | book\_id | =Floor(GMT()-due\_date) |
| --- | --- | --- |
| 01/01/2021 | 4 | 455 |
| 01/10/2021 | 24 | 446 |
| 01/31/2021 | 173 | 425 |
| 02/01/2021 | 281 | 424 |
| 02/10/2021 | 265 | 415 |
| 06/30/2021 | 465 | 275 |
| 07/26/2021 | 537 | 249 |
| 10/31/2021 | 275 | 152 |
| 11/01/2021 | 455 | 151 |
| 12/31/2021 | 46 | 91 |

`days_overdue` 字段中的值是通过使用 `GMT()` 函数查找当前格林威治标准时间与原始到期日之间的差值来计算的。为了只计算天数，使用 `Floor()` 函数将结果四舍五入到最接近的整数。