# 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/zh-TW/sense/May2026/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/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/InterpretationFunctions/time_hash.htm)

#### 載入指令碼

概述

開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。

載入指令碼包含：

* 載入到稱為 `Example` 之資料表格的資料集。

* 資料表格中的欄位如下：

  * `InputTime`

* `TimeFormat` 變數，使用 `h:mm:ss TT` 格式。

* 使用 `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` 欄位中的值顯示為文字並靠左對齊。一旦透過 `Time#` 函數剖析了 `InputTime` 中的值，就會建立產生的 `ParsedTime` 欄位。新欄位中的值是靠右對齊，因為這現在被視為有效的時間值。第 3 欄使用 `Time` 函數來評估 `ParsedTime` 值，並根據載入指令碼中的 `TimeFormat` 進行格式化。

## 範例 - Time# 使用情境

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

#### 載入指令碼

概述

開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。

載入指令碼包含：

* 載入到稱為 `Example` 之資料表格的資料集。

* 資料表格中的欄位如下：

  * `NoDelimiterTime`

* `TimeFormat` 變數，使用 `hh.mm.ss` 格式。

* 使用 `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#` 函數剖析文字值並將其值轉換為時間/數字值。