# TimestampFormat

Указанный формат заменяет форматы даты и времени, используемые в операционной системе (региональные настройки).

Синтаксис:

TimestampFormat

Пример:

В следующих примерах используются данные метки времени 1983-12-14T13:15:30Z в целях демонстрации результатов применения разных операторов SET TimestampFormat. Используется формат даты YYYYMMDD и формат времени h:mm:ss TT. Формат даты указан в операторе SET DateFormat, формат времени — в операторе SET TimeFormat в верхней части скрипта загрузки данных.

Результаты

| Пример | Результат |
| --- | --- |
| `SET TimestampFormat='YYYYMMDD';` | 19831214 |
| `SET TimestampFormat='M/D/YY hh:mm:ss[.fff]';` | 14.12.1983 13:15:30 |
| `SET TimestampFormat='DD/MM/YYYY hh:mm:ss[.fff]';` | 14.12.1983 13:15:30 |
| `SET TimestampFormat='DD/MM/YYYY hh:mm:ss[.fff] TT';` | 14.12.1983 13:15:30 |
| `SET TimestampFormat='YYYY-MM-DD hh:mm:ss[.fff] TT';` | 1983-12-14 01:15:30 |

## Примеры: скрипт загрузки

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/TimestampFormat.htm)

#### Пример: скрипт загрузки

В первом скрипте загрузки используется SET TimestampFormat='DD/MM/YYYY h:mm:ss[.fff] TT'. Во втором скрипте загрузки формат метки времени изменен на SET TimestampFormat='MM/DD/YYYY hh:mm:ss[.fff]'. Оператор SET TimeFormat дает разные результаты при использовании с различными форматами данных времени.

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

Набор данных

Таблица, в которой представлены используемые данные о времени и формат каждой метки времени в наборе данных.

| transaction\_timestamp | time data format |
| --- | --- |
| 2018-08-30 | YYYY-MM-DD |
| 20180830T193614.857 | YYYYMMDDhhmmss.sss |
| 20180830T193614.857+0200 | YYYYMMDDhhmmss.sss±hhmm |
| 2018-09-16T12:30-02:00 | YYYY-MM-DDhh:mm±hh:mm |
| 2018-09-16T13:15:30Z | YYYY-MM-DDhh:mmZ |
| 9/30/18 19:36:14 | M/D/YY hh:mm:ss |

В Редакторе загрузки данных создайте новый раздел, добавьте образец скрипта и запустите его. Затем добавьте на лист вашего приложения как минимум поля, указанные в столбце с результатами, чтобы увидеть результат.

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

```
SET FirstWeekDay=0;
SET BrokenWeeks=1;
SET ReferenceDay=0;
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun';
SET LongDayNames='Monday;Tuesday;Wednesday;Thursday;Friday;Saturday;Sunday';
SET DateFormat='YYYYMMDD';
SET TimestampFormat='DD/MM/YYYY h:mm:ss[.fff] TT';
 
Transactions:
Load
*,
Timestamp(transaction_timestamp, 'YYYY-MM-DD hh:mm:ss[.fff]') as LogTimestamp
;
 
Load * Inline [
transaction_id, transaction_timestamp, transaction_amount, transaction_quantity, discount, customer_id, size, color_code
3750, 2018-08-30, 12423.56, 23, 0,2038593, L, Red
3751, 20180830T193614.857, 5356.31, 6, 0.1, 203521, m, orange
3752, 20180830T193614.857+0200, 15.75, 1, 0.22, 5646471, S, blue
3753, 2018-09-16T12:30-02:00, 1251, 7, 0, 3036491, l, Black
3754, 2018-09-16T13:15:30Z, 21484.21, 1356, 75, 049681, xs, Red
3755, 9/30/18 19:36:14, -59.18, 2, 0.333333333333333, 2038593, M, Blue
];
```

Результаты

Таблица Qlik SenseQlik Sense, в которой представлены результаты использования переменной интерпретации TimestampFormatTimestampFormat в скрипте загрузки. Последняя метка времени в наборе данных не возвращает верную дату.

| transaction\_id | transaction\_timestamp | LogTimeStamp |
| --- | --- | --- |
| 3750 | 2018-08-30 | 2018-08-30 00:00:00 |
| 3751 | 20180830T193614.857 | 2018-08-30 19:36:14 |
| 3752 | 20180830T193614.857+0200 | 2018-08-30 17:36:14 |
| 3753 | 2018-09-16T12:30-02:00 | 2018-09-16 14:30:00 |
| 3754 | 2018-09-16T13:15:30Z | 2018-09-16 13:15:30 |
| 3755 | 9/30/18 19:36:14 | - |

Следующий скрипт загрузки использует тот же набор данных. Однако он использует SET TimestampFormat='MM/DD/YYYY hh:mm:ss[.fff]' для шестой метки времени, формат которой отличен от ISO 8601.

В Редакторе загрузки данных замените предыдущий образец скрипта другим скриптом, приведенным ниже, и запустите его. Затем добавьте на лист вашего приложения как минимум поля, указанные в столбце с результатами, чтобы увидеть результат.

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

```
SET FirstWeekDay=0;
SET BrokenWeeks=1;
SET ReferenceDay=0;
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun';
SET LongDayNames='Monday;Tuesday;Wednesday;Thursday;Friday;Saturday;Sunday';
SET DateFormat='YYYYMMDD';
SET TimestampFormat='MM/DD/YYYY hh:mm:ss[.fff]';
 
Transactions:
Load
*,
Timestamp(transaction_timestamp, 'YYYY-MM-DD hh:mm:ss[.fff]') as LogTimestamp
;
 
Load * Inline [
transaction_id, transaction_timestamp, transaction_amount, transaction_quantity, discount, customer_id, size, color_code
3750, 2018-08-30, 12423.56, 23, 0,2038593, L, Red
3751, 20180830T193614.857, 5356.31, 6, 0.1, 203521, m, orange
3752, 20180830T193614.857+0200, 15.75, 1, 0.22, 5646471, S, blue
3753, 2018-09-16T12:30-02:00, 1251, 7, 0, 3036491, l, Black
3754, 2018-09-16T13:15:30Z, 21484.21, 1356, 75, 049681, xs, Red
3755, 9/30/18 19:36:14, -59.18, 2, 0.333333333333333, 2038593, M, Blue
];
```

Результаты

Таблица Qlik SenseQlik Sense, в которой представлены результаты использования переменной интерпретации TimestampFormatTimestampFormat в скрипте загрузки.

| transaction\_id | transaction\_timestamp | LogTimeStamp |
| --- | --- | --- |
| 3750 | 2018-08-30 | 2018-08-30 00:00:00 |
| 3751 | 20180830T193614.857 | 2018-08-30 19:36:14 |
| 3752 | 20180830T193614.857+0200 | 2018-08-30 17:36:14 |
| 3753 | 2018-09-16T12:30-02:00 | 2018-09-16 14:30:00 |
| 3754 | 2018-09-16T13:15:30Z | 2018-09-16 13:15:30 |
| 3755 | 9/30/18 19:36:14 | 2018-09-16 19:36:14 |