# Time#スクリプトおよびチャート関数

Time#() は、書式文字列が提供されている場合を除き、データ ロード スクリプトまたはオペレーティング システムの時刻書式設定で、数式を時刻値として評価します。

構文:

time#(text[, format])

戻り値データ型： デュアル

引数

| 引数 | 説明 |
| --- | --- |
| text | 評価対象のテキスト文字列。 |
| format | テキスト文字列を解釈するために使用する形式を記述する文字列。省略されている場合は、オペレーティング システムで設定された時刻形式と小数点記号が使用されます。<br><br>`Time#` 関数は、さまざまな時間構造に対して多くの形式オプションをサポートしています。次に例を示します。<br><br>​`hh:mm:ss` - 時刻値を標準の時刻形式でフォーマットし、先頭にゼロを付けて、時間、分、秒を表示します。<br><br>​`hh:mm TT` - ​AM/PM サフィックス付きの 12 時間形式を使用します。<br><br>​`hh:mm` - 秒を省略し、時間と分のみを表示します。<br><br>​`hh.mm.ss` - ​コロンの代わりにピリオド (`.`) を使用するなど、異なる区切り文字を使用した時刻形式。<br><br>​`hh TT` - ​時間と AM/PM のみが含まれます。<br><br>​`hh "Hrs" mm "Mins"` - ​Hrs などのカスタムテキストで時間を表示します。​<br><br>[数値や日付書式の説明](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/Introduction/conventions-number-time-formats.htm) |

例: チャートの数式

| 例 | 結果 |
| --- | --- |
| `Time#('09:00:00')` | `TimeFormat` の設定が `'hh:mm:ss'` の場合、`09:00:00` を返します。 |
| `Time#( '09:00:00','hh:mm:ss' )` | 指定された形式が `'hh:mm:ss'` の場合、`09:00:00` を返します。 |
| `Time#('03:25 PM', 'hh:mm TT')` | 指定された形式が `'hh:mm TT'` の場合、`03:25 PM` を返します。 |

## 例 - Time# の基本

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

#### ロード スクリプト

概要

データ ロード エディターを開き、以下のロード スクリプトを新しいセクションに追加します。

ロード スクリプトには次が含まれています:

* 「`Example`」というデータ テーブルにロードされるデータセット。

* データ テーブル内の次の項目:

  * `InputTime`

* `h:mm:ss TT` 形式を使用する `TimeFormat` 変数。

* `Time#` 関数を使用して、`InputTime` のテキスト値をシステムが使用できる `ParsedTime` と呼ばれる時間/数値項目に変換する先行ロード。

ロード スクリプト

```
SET TimeFormat='h:mm:ss TT';
Example:
Load
InputTime,
Time#(InputTime, 'hh-mm-ss') as ParsedTime
Inline [
InputTime
12-30-45
05-15-00
22-10-55
08-20-35
19-45-15
];
```

結果

データをロードしてシートを開きます。新しいテーブルを作成し、これらの項目を軸として追加します:

* ` InputTime
                                       `

* `ParsedTime`

次のメジャーを作成します:

* `=Time(ParsedTime)`、既定の設定としてロード スクリプトで指定された形式を使用して時間を表示します。

結果テーブル

| InputTime | ParsedTime | Time(ParsedTime) |
| --- | --- | --- |
| 05-15-00 | 05-15-00 | 5:15:00 AM |
| 08-20-35 | 08-20-35 | 8:20:35 AM |
| 12-30-45 | 12-30-45 | 12:30:45 PM |
| 19-45-15 | 19-45-15 | 7:45:15 PM |
| 22-10-55 | 22-10-55 | 10:10:55 PM |

`InputTime` 項目の値はテキストとして表示され、左揃えになります。`InputTime` の値が `Time#` 関数で解析されると、`ParsedTime` 項目が作成されます。新しい項目の値は、有効な時間値として扱われるため、右揃えになります。3 番目の列では、`Time` 関数を使用して `ParsedTime` 値を評価し、ロード スクリプトの `TimeFormat` に従ってフォーマットします。

## 例 - Time# のシナリオ

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

#### ロード スクリプト

概要

データ ロード エディターを開き、以下のロード スクリプトを新しいセクションに追加します。

ロード スクリプトには次が含まれています:

* 「`Example`」というデータ テーブルにロードされるデータセット。

* データ テーブル内の次の項目:

  * `NoDelimiterTime`

* `hh.mm.ss` 形式を使用する `TimeFormat` 変数。

* `Time#` 関数を使用して、`NoDelimiterTime` のテキスト値を `ParsedNoDelimiterTime` と呼ばれる時間/数値項目に変換する先行ロード。

ロード スクリプト

```
SET TimeFormat='hh.mm.ss';
Example:
Load
NoDelimiterTime,
Time#(NoDelimiterTime, 'hhmmss') as ParsedNoDelimiterTime
Inline [
NoDelimiterTime
143015
091045
235959
060530
184010
]; 
```

結果

データをロードしてシートを開きます。新しいテーブルを作成し、この項目を軸として追加します:

* ` NoDelimiterTime
                                       `

次のメジャーを作成します:

* `=Time(ParsedNoDelimiterTime,'hh:mm:ss')`、既定の設定としてロード スクリプトで指定された形式を使用して時間を表示します。

結果テーブル

| NoDelimiterTime | Time(ParsedNoDelimiterTime,'hh:mm:ss') |
| --- | --- |
| 060530 | 06:05:30 |
| 091045 | 09:10:45 |
| 143015 | 14:30:15 |
| 184010 | 18:40:10 |
| 235959 | 23:59:59 |

結果は、`Time#` 関数を使用して値を解析し、テキストから時間/数値に変換する方法を示しています。