# DateFormat

Ta zmienna środowiskowa definiuje format daty używany jako domyślny w aplikacji i przez funkcje zwracające datę, takie jak `date()` i `date#()`. Format ten służy do interpretacji i formatowania dat. Jeśli zmienna nie jest zdefiniowana, po uruchomieniu skryptu zostanie pobrany format daty ustawień regionalnych.

Składnia:

DateFormat

Przykłady funkcji DateFormat

| Przykład | Wynik |
| --- | --- |
| `Set DateFormat='M/D/YY'; //(US format)` | To użycie funkcji `DateFormat` definiuje datę w formacie amerykańskim, miesiąc/dzień/rok. |
| `Set DateFormat='DD/MM/YY'; //(UK date format)` | To użycie funkcji `DateFormat` definiuje datę w formacie brytyjskim, dzień/miesiąc/rok. |
| `Set DateFormat='YYYY/MM/DD'; //(ISO date format)` | To użycie funkcji `DateFormat` definiuje datę w formacie ISO, rok/miesiąc/dzień. |

## Ustawienia regionalne

Jeżeli nie podano inaczej, w przykładach w tym temacie stosowany jest następujący format daty: MM/DD/YYYY. Format daty jest określony w instrukcji `SET DateFormat` w skrypcie ładowania danych. Domyślny format daty w Twoim systemie może być inny ze względu na ustawienia regionalne i inne czynniki. Formaty zastosowane w przykładach można zmienić, aby dostosować je do własnych wymagań. Zamiast tego można też zmienić formaty w skrypcie ładowania, aby pasowały do tych przykładów. Więcej informacji można znaleźć w temacie [Modyfikowanie ustawień regionalnych na potrzeby aplikacji i skryptów](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm).

Domyślne ustawienia regionalne w aplikacjach są oparte na profilu użytkownika. Te ustawienia regionalne nie są związane z językiem wyświetlanym w interfejsie użytkownika Qlik Cloud. Interfejs Qlik Cloud będzie wyświetlany w tym samym języku co używana przeglądarka.

Jeżeli jesteś twórcą aplikacji, możesz wybrać domyślny region dla tworzonych przez siebie aplikacji. Więcej informacji zawiera temat [Ustawianie preferowanych ustawień regionalnych do tworzenia aplikacji i skryptów w Analityka Qlik Cloud](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting).

## Przykład 1 – Domyślne zmienne systemowe

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

#### Skrypt ładowania i wyniki

Przegląd

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych dat.

* Funkcja `DateFormat`, która będzie używać amerykańskiego formatu daty.

W tym przykładzie zestaw danych jest ładowany do tabeli o nazwie „`Transactions`”. Zawiera ona pole `date`. Zastosowano definicję amerykańską `DateFormat`. Ten wzorzec będzie używany do niejawnej konwersji tekstu na datę po załadowaniu dat w formacie tekstowym.

Skrypt ładowania

```

Set DateFormat='MM/DD/YYYY'; 

Transactions: 
LOAD 
date, 
month(date) as month, 
id, 
amount 
INLINE  
[ 
date,id,amount 
01/01/2022,1,1000 
02/01/2022,2,2123 
03/01/2022,3,4124 
04/01/2022,4,2431 
]; 						
```

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* `date`
* `month`

Utwórz tę miarę:

`=sum(amount)`

Tabela wynikowa

| date | miesiąc | =sum(amount) |
| --- | --- | --- |
| 01/01/2022 | Sty | 1000 |
| 01.02.2022 | Lut | 2123 |
| 01.03.2022 | Mar | 4124 |
| 04/01/2022 | Kwi | 2431 |

Do niejawnej konwersji tekstu na daty jest używana definicja `DateFormat` MM/DD/RRRR, dlatego pole `date` jest prawidłowo interpretowane jako data. Jak pokazano w tabeli wyników, ten sam format jest używany do wyświetlania daty.

## Przykład 2 — Zmiana zmiennej systemowej

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

#### Skrypt ładowania i wyniki

Przegląd

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Ten sam zbiór danych, co w poprzednim przykładzie.

* Funkcja `DateFormat`, która pobiera dane w formacie „DD/MM/RRRR”.

Skrypt ładowania

```

SET DateFormat='DD/MM/YYYY'; 
Transactions: 
LOAD 
date, 
month(date) as month, 
id, 
amount 
INLINE  
[ 
date,id,amount 
01/01/2022,1,1000 
02/01/2022,2,2123 
03/01/2022,3,4124 
04/01/2022,4,2431 
]; 					
```

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* `date`
* `month`

Utwórz tę miarę:

`=sum(amount)`

Tabela wynikowa

| date | miesiąc | =sum(amount) |
| --- | --- | --- |
| 01/01/2022 | Sty | 1000 |
| 01.02.2022 | Sty | 2123 |
| 01.03.2022 | Sty | 4124 |
| 04/01/2022 | Sty | 2431 |

Ponieważ definicja `DateFormat` została ustawiona na „DD/MM/RRRR”, dwie pierwsze cyfry za pierwszym znakiem „/” zostały zinterpretowane jako numer miesiąca i w efekcie wszystkie rekordy są z miesiąca stycznia.

## Przykład 3 — Interpretacja daty

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

#### Skrypt ładowania i wyniki

Przegląd

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zbiór danych z datami w formacie numerycznym.

* Zmienna `DateFormat`, która używa danych w formacie „DD/MM/RRRR”.

* Zmienna `date()`.

Skrypt ładowania

```

SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
Load 
date(numerical_date), 
month(date(numerical_date)) as month, 
id, 
amount 
Inline  
[ 
numerical_date,id,amount 
43254,1,1000 
43255,2,2123 
43256,3,4124 
43258,4,2431 
]; 						
```

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* `date`
* `month`

Utwórz tę miarę:

`=sum(amount)`

Tabela wynikowa

| date | miesiąc | =sum(amount) |
| --- | --- | --- |
| 06/03/2022 | Cze | 1000 |
| 06/04/2022 | Cze | 2123 |
| 06/05/2022 | cze | 4124 |
| 06/07/2022 | cze | 2431 |

W skrypcie ładowania użyj funkcji `date()`, aby przekonwertować datę numeryczną na format daty. Ponieważ nie określono formatu w drugim argumencie funkcji, używa się `DateFormat`. W wyniku tego pole daty używa formatu „MM/DD/RRRR”.

## Przykład 4 — Formatowanie obcych dat

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

#### Skrypt ładowania i wyniki

Przegląd

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zbiór danych dat.

* Zmienna `DateFormat`, która używa formatu „DD/MM/RRRR”, ale nie jest wykomentowana przy użyciu ukośników.

Skrypt ładowania

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

 
Transactions: 
Load 
date, 
month(date) as month, 
id, 
amount 
Inline  
[ 
date,id,amount 
22-05-2022,1,1000 
23-05-2022,2,2123 
24-05-2022,3,4124 
25-05-2022,4,2431 
]; 
```

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* `date`
* `month`

Utwórz tę miarę:

`=sum(amount)`

Tabela wynikowa

| date | miesiąc | =sum(amount) |
| --- | --- | --- |
| 22-05-2022 | - | 1000 |
| 23-05-2022 | - | 2123 |
| 24-05-2022 | - | 4124 |
| 25-05-2022 | - | 2431 |

W pierwszym skrypcie ładowania używany `DateFormat` to domyślny „MM/DD/RRRR”. Ponieważ pole `date` w zestawie danych transakcji jest w innym formacie, pole nie jest interpretowane jako data. Widać to w tabeli wyników, w której wartości pola `month` są null.

Interpretowane typy danych można zweryfikować w Przeglądarce modelu danych we właściwościach „Znaczniki” pola `date`:

Podgląd tabeli `Transactions`. Zwróć uwagę na „Tags” w polu `date` wskazujące, że tekstowe dane wejściowe nie zostały niejawnie przekonwertowane na datę/znacznik czasu.

Podgląd tabeli `Transactions`. Zwróć uwagę na „Tags” w polu `date` wskazujące, że tekstowe dane wejściowe nie zostały niejawnie przekonwertowane na datę/znacznik czasu.

Podgląd tabeli `Transactions`Transactions. Zwróć uwagę na „Tags” w polu `date`date wskazujące, że tekstowe dane wejściowe nie zostały niejawnie przekonwertowane na datę/znacznik czasu. ![Podgląd tabeli „Transactions” z podświetlonymi szczegółami pola „date”.](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_dmv_TransactionsTablePreview1.png)

Można to rozwiązać, włączając zmienną systemową `DateFormat`:

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

Usuń podwójne ukośniki i ponownie załaduj dane.

Podgląd tabeli `Transactions`. Zwróć uwagę na „Tags” w polu `date` wskazujące, że tekstowe dane wejściowe zostały niejawnie przekonwertowane na datę/znacznik czasu.

Podgląd tabeli `Transactions`. Zwróć uwagę na „Tags” w polu `date` wskazujące, że tekstowe dane wejściowe zostały niejawnie przekonwertowane na datę/znacznik czasu.

Podgląd tabeli `Transactions`Transactions. Zwróć uwagę na „Tags” w polu `date`date wskazujące, że tekstowe dane wejściowe zostały niejawnie przekonwertowane na datę/znacznik czasu. ![Podgląd tabeli „Transactions” po zmodyfikowaniu zmiennej systemowej DateFormat.](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_dmv_TransactionsTablePreview2.png)