日期、時間、編號和其他格式

本頁描述了 Studio 中日期、時間和數字值的有效格式選項。您可以使用格式選項來定義如何在指令碼輸出中格式化某些資訊。例如,如果貴組織希望以某種方式顯示日期,您可以使用本頁上的 datefmt() 函數和日期格式指定元,將現有格式中的日期轉換為所需格式。

函數的範例指令碼中,提供了本頁上許多指定元的範例。您可以下載並匯入指令碼,然後打開 datefmtformat Snippet 動作。

日期和時間格式

當您需要指定希望動作Closed 在 Studio 指令碼內執行一個流程,如收集客戶資料、播放訊息或音樂,或將聯絡人路由至客服專員。日期/時間函數(例如 datefmt())來返回日期或時間值的格式時,請使用格式指定元字元。日期/時間值的每個部分都有指定元字元,如日、月、年、小時、分鐘等。

透過將指定元字元與分隔符號字元組合,可以定義顯示日期/時間值的方式。如果貴組織對日期/時間值的顯示有要求,這將很有幫助。在知道您需要的日期/時間格式後,請使用本節中定義的格式指定元構建指令碼中的格式。

下表顯示了日期和時間及其對應格式的一些範例。「帶有指定元的格式」欄顯示如何使用格式指定元字元來構建「日期樣式」欄列中的每個日期/時間範例。指定元字元,如 Md hs 等,表示日期/時間值的一部分,如月、日、小時等。

日期樣式 帶指定元的格式
04/04/2023 04:29:12 AM MM/dd/yyyy hh:mm:ss tt

6/29/2023 3:15:45 PM

M/d/yy h :m:s tt

2023 年 4 月 22 日,星期六  ddd MMM dd yyyy
2023 年 6 月 15 日,星期四 dddd, MMMM dd yyyy

OLE 自動化

OLE 自動化日期是一個以浮點數書寫的日期。小數點的左側為 1899 年 12 月 30 日零點之後的天數。小數點右側為當天時間除以 24。例如,1899 年 12 月 31 日上午 6:00 為 1.25。

Studio 指令碼的多個位置使用了 OLE 自動化日期時間。某些處理日期和時間的函數使用此格式作為輸入或輸出。本頁中描述的許多日期時間格式都使用了 OLE 自動化日期時間。

日期和時間格式指定元

使用日期和時間格式指定元時,以下事項很重要:

  • 大寫和小寫:指定元的大小寫會變更輸出。例如,小寫 f 會導致毫秒數包含尾數零(如果適用)。大寫 F 會去掉尾數零。在另一個範例中,小寫 m 輸出分鐘,而大寫 M 輸出月份。
  • 包含的每個字元的數量:包含一個、兩個或更多格式指定元會變更輸出。例如,使用單個 h 表示小時會導致所有個位數的小時都沒有前置零。兩個 hh 字元會導致個位數小時包含前置零。
  • 組合字元或單獨使用:如要單獨使用一個指定元字元而不使用其他指定元,則必須在其前面加一個百分號 %。例如,如要只輸出分鐘,則使用 %m。如果不包括百分號,格式將不起作用。如果您將單個指定元與其他指定元組合使用,則無需包含百分號。例如,如果您的格式包括 hh:m 中的小時和單個 m,則不需要百分號。

包含在日期/時間格式規範中的任何非指定元字元都會被傳入輸出端,不會影響日期/時間值。您可以用它來分離日期/時間值的部分。傳統上使用冒號 (:) 和反斜線 (/) 來分隔日期/時間值的各部分。您可以在指定的格式中使用任何分隔符號,包括非傳統字元,如斜線 (-)。

例如,如果您想用管道字元來分隔日期和時間,您可以將其包含在格式中,並將其新增到輸出中。根據您使用的函數,可能需要冒號和正斜線。例如,asdatetime() 函數需要這些字元。

表示的內容 格式指定元 詳細資訊
d

將月份中的日期表示為 1 到 31 之間的數字:27

一位數的日期格式不帶前置零:3

如果單獨使用,首碼為 %

dd

將月份中的日期表示為 01 到 31 之間的兩位數字:27

一位數的日期格式帶前置零:03

ddd 表示一週中某天的縮寫名稱:Thu
dddd 表示一週中某天的完整名稱:Thursday
M

將月份表示為 1 到 12 的數字:11

一位數的月份格式不帶前置零:5

如果單獨使用,首碼為 %

MM

將月份表示為 01 到 12 的兩位數字:11

一位數的月份格式帶前置零:05

MMM 表示月份的縮寫名稱:Oct
MMMM 表示月份的完整名稱:October
y

將年份表示為一位數或兩位數:23

如果年份超過兩位數,則結果中只會出現兩位低位數。例如,給定 2023 年,出現 23

如果兩位數年份的第一個數位以零開頭(例如 02),則該數字的格式不帶前置零:2

yy

將年份表示為兩位數:23

如果年份超過兩位數,則結果中只會出現兩位低位數。例如,給定 2023 年,出現 23

如果兩位數年份少於兩位有效數位,則用前置零填充該數字使之達到兩位數:02

如果單獨使用,首碼為 %

yyy

用最少三位數表示年份:2023

如果年份的有效數位超過三位,則其會包含在結果字串中。如果年份的有效數位少於三位,則用前置零填充該數字使之達到三位數。

備註:對於年份可以為五位數的泰國佛歷,此格式指定元會顯示所有五位數。

yyyy

將年份表示為四位數:2023

如果年份超過四位數,則結果中只會出現四位低位數。如果年份少於四位數,則用前置零填充該數字使之達到四位數。

備註:對於年份可以為五位數的泰國佛歷,此格式指定元會顯示所有五位數。

yyyyy

將年份表示為五位數。

如果年份超過五位數,則結果中只會出現五位低位數。如果年份少於五位數,則用前置零填充該數字使之達到五位數:02023

若存在超過五個 y 指定元,則用所需數量的前置零填充該數字,使之達到 y 指定元的數量。例如,如果有 8 個指定元,則輸出為 00002023

時期或紀元 ggg(另加任意數量的 g 指定元)

表示時期或紀元,例如 A.D。若要格式化的日期沒有關聯的時期或紀元字串,則格式化會忽略此指定元。

無法單獨使用單個 g。如果您只想輸出紀元或時期的名稱,請使用雙 gg

小時(12 小時制) h

將小時表示為 12 小時制從 1 到 12 的數字,從午夜或中午開始對整小時計數。

午夜之後的特定小時與中午之後的同一小時無法加以區分。例如,1:00 AM 與 1:00 PM 相同。

小時不進行捨入,一位數的小時格式不帶前置零。

如果單獨使用,首碼為 %

例如,在時間為 5:43 時,此自訂格式指定元顯示 5

hh

將小時表示為 12 小時制從 01 到 12 的兩位數字,從午夜或中午開始對整小時計數。

午夜之後的特定小時與中午之後的同一小時無法加以區分。例如,1:00 AM 與 1:00 PM 相同。

小時不進行捨入,一位數的小時格式帶有前置零。

例如,在時間為 5:43 時,此自訂格式指定元顯示 05

小時(24 小時制) H

將小時表示為 24 小時制從 0 到 23 的數字,從午夜開始對小時計數。

一位數的小時格式不帶前置零。

例如,在時間為 5:43 PM 時,此自訂格式指定元顯示 17

如果單獨使用,首碼為 %

HH

將小時表示為 24 小時制從 00 到 23 的兩位數字,從午夜開始對小時計數。

一位數的小時格式帶有前置零。

例如,在時間為 5:43 PM 時,此自訂格式指定元顯示 17

分鐘 m

將分鐘表示為 0 到 59 的數字。

分鐘表示自上一小時以來經過的整分鐘數。一位數的分鐘格式不帶前置零。

例如,在時間為 5:43:34 時,此自訂格式指定元顯示 43

如果單獨使用,首碼為 %

mm

將分鐘表示為 00 到 59 的兩位數字。

分鐘表示自上一小時以來經過的整分鐘數。一位數的分鐘格式帶有前置零。

例如,在時間為 5:03:34 時,此自訂格式指定元顯示 03

s

將秒表示為 0 到 59 的數字。

結果表示自上一分鐘以來經過的整秒數。一位數的秒格式不帶前置零。

例如,在時間為 5:43:04 時,此自訂格式指定元顯示 4

如果單獨使用,首碼為 %

ss

將秒表示為 00 到 59 的兩位數字。

結果表示自上一分鐘以來經過的整秒數。一位數的秒格式帶有前置零。

例如,在時間為 5:43:04 時,此自訂格式指定元顯示 04

小數秒 ff, F

代表秒小數的位數。小寫 f 指定元包含尾數零。大寫 F 指定元會去掉尾數零。

此指定元僅適用於 OLE 自動化Closed 一種將日期寫成浮點整數的方法。表示自 1899 年 12 月 30 日以來的天數。日期/時間。

f F 字元數決定了要包括秒小數的多少個有效數位:

  • F:十分之一秒,或最高位。如果數位為零,則不顯示任何內容。
  • ffFF:百分之一秒,或兩個有效數位。
  • fffFFF:千分之一秒,或三個有效數位。這就是所謂的毫秒。
  • ffffFFFF:萬分之一秒,或四個有效數位。
  • fffffFFFFF:十萬分之一秒,或五個有效數位。
  • ffffffFFFFFF:百萬分之一秒,或六個有效數位。
  • FFFFFFF:千萬分之一秒,或七個有效數位。

指定的精度越高,其可靠性或意義就越低。時間值的精度取決於電腦系統時鐘的解析度。

AM/PM t

表示 AM/PM 指示項的第一個字元。若正在格式化的時間中的小時數小於 12,則使用 AM 指示項。否則,使用 PM 指示項。

對於使用 AM/PM 指示的語言,如果第一個字元相同,而第二個字元有變化,則使用 tt 指定元。

如果單獨使用,首碼為 %

tt

表示 AM/PM 指示項。若正在格式化的時間中的小時數小於 12,則使用 AM 指示項。否則,使用 PM 指示項。

對於使用 AM/PM 指示項的語言,如果第一個字元相同,而第二個字元有變化(例如日語),則使用 tt 指定元。

與 UTC 的本地偏移量 z

表示本機作業系統時區與協調世界時間 (UTC) 的帶符號偏移量,測量單位為小時。Z 字元數定義了要顯示的偏移量:

  • zzz:以 小時為單位測量偏移量。
  • zzz:以小時和分鐘為單位測量偏移量。

偏移量始終以前置符號顯示。正號 (+) 表示小時數早於 UTC,負號 (-) 表示小時數遲於 UTC。偏移範圍為 –12 到 +13。一位數的偏移量格式帶有前置零。

如果單獨使用,首碼為 %

數值格式

當您需要定義希望動作Closed 在 Studio 指令碼內執行一個流程,如收集客戶資料、播放訊息或音樂,或將聯絡人路由至客服專員。或函數(例如 format())來返回數值的格式時,請使用這些格式指定元字元。指定元字元有多種用途,如貨幣、百分比、固定點數等。

精度指定元

本節中描述的許多格式指定元都接受精度指定元。精度指定元允許您定義輸出中包含的小數點後的數位個數。

精度指定元是您在格式指定元之後包含的數字。在下面的範例中,C 是格式指定元,3 是精度指定元。表示輸出小數點後有三位數。

ASSIGN CurrencyResultBigC = "{StringVal.format('C3')}"

假設起始數為 0013001.93912837,本範例的輸出為 $13,001.939

數值指定元

數字類型 格式指定元 詳細描述
貨幣 Cc

該數字已被轉換為代表貨幣金額的字串。包括一個帶有格式指定元的數字,表示您希望該數字具有的小數位數。格式指定元的大小寫不影響結果。

ASSIGN StringVal = "0013001.93912837"
ASSIGN CurrencyResult = "{StringVal.format('C')}"
ASSIGN CurrencyResult3 = "{StringVal.format('C3')}"

結果

CURRENCYRESULT=$13,001.94

CURRENCYRESULT3=$13,001.939

指數標記法(科學) E 或者 e

E0

E-0

e0

e+0

e-0

該數字將轉換 -d.ddd…E+ddd-d.ddd…e+ddd 形式的字串,其中每個 d 表示一個數位 (0-9)。若數字為負數,則字串以負號作為開頭。小數點前面總有一位數位。

包括一個帶有格式指定元的數字,表示您希望的小數點後位數。如果不包括精度指定元,則指令碼預設為六位小數。

格式指定元的大小寫表示輸出中的指數是用 Ee 作為首碼。指數始終由正號或負號以及最少三位數組成。若需要,則用零填充指數,以滿足這一最低要求。

如果字串 EE+E-ee+e- 中的任何一個出現在格式字串中,並且其後緊跟至少一個 0 字元,則使用科學標記法對數字進行格式化,並在數字和指數之間插入 Ee

科學標記法指示器後面的 0 字元數決定了指數輸出的最小位數。E+e+ 格式表示符號字元(正號或負號)應始終位於指數之前。EE-ee- 格式表示符號字元應該只在負指數之前。

 ASSIGN StringVal = "0013001.93912837"
ASSIGN ScientificResult = "{StringVal.format('e')}"		
ASSIGN ScientificResult = "{StringVal.format('E2')}"	

結果

SCIENTIFICRESULT=1.300194e+004

SCIENTIFICRESULT2=1.300194E+004

固定點 F f

該數字將轉換 -ddd.ddd… 形式的字串,其中每個 d 表示一個數位 (0-9)。若數字為負數,則字串以負號作為開頭。

包括一個帶有格式指定元的數字,表示您希望該結果具有的小數位數。如果沒有精度指示器,則指令碼預設為兩位小數。

ASSIGN StringVal = "0013001.93912837"
ASSIGN FixedPointResult = "{StringVal.format('F3')}"
ASSIGN FixedPointResult2 = "{StringVal.format('f')}"

結果

FIXEDPOINTRESULT=13001.939

FIXEDPOINTRESULT2=13001.94

一般 Gg

根據數字的類型以及是否包含精度指定元,數字將轉換為最緊湊的固定點或科學標記法。若精度指定元已省略或為零,則數字的類型決定預設精度,如下面的清單所示。

  • 位元或 SByte:3
  • Int16 或 UInt16:5
  • Int32 或 UInt32:10
  • Int64 或 UInt64:19
  • 單精度:7
  • 雙精度:15
  • 十進位:29

若用科學標記法表示數字所產生的指數大於 -5 且小於精度指定元,則使用固定點標記法;否則,使用科學標記法。如果需要,結果包含一個小數點,並省略末尾零。

若存在精度指定元並且結果中的有效位數超過指定精度,則透過捨入移除多餘的末尾數位。本規則的例外情況是,若數字是十進位數字並且已省略精度指定元。在這種情況下,始終使用固定點標記法並保留末尾零。

在使用科學標記法時,若格式指定元為 G,則結果中的指數前綴為 E,或者若格式指定元為 g,則前綴為 e

ASSIGN StringVal = "0013001.93912837"
ASSIGN GeneralResult1 = "{StringVal.format('G')}"
ASSIGN StringVal2 = 6002348902348890234.234432234
ASSIGN GeneralResult2 = "{StringVal2.format('G')}"

結果

GENERALRESULT1=13001.93912837

GENERALRESULT2=6.00234890234889E+18

十六進位 Xx

僅整數型支援此格式。該數字被轉換為一串十六進位數位。格式指定元的大小寫指示對於大於 9 的十六進位數位是使用大寫還是小寫字元。例如,使用 X 產生 ABCDEF,使用 x 產生 abcdef

精度指定元指示結果字串中所需的最小位數。如果需要,數字的左側用零填充,以產生精度指定元給出的位數。

數字 Nn

該數字被轉換為 -d,ddd,ddd.ddd… 形式的子串,其中:

  • 如果需要,負號 ( - ) 表示負數符號。
  • 每個 d 代表一個數位 (0-9)。
  • 逗號 ( , ) 表示數字組之間的千位元分隔符號。
  • 句號 ( .) 表示十進位點符號。

包括一個精度指定元,表示您希望該結果具有的小數位數。如果未包含精度指定元,則預設值為小數點後兩位。如果數字不包含小數點,輸出數字中將新增 .00

ASSIGN StringVal = "0013001.93912837"
ASSIGN NumberResult = StringVal.format('N')
ASSIGN NumberResult2 = "{StringVal.format('n2')}"

結果

NUMBERRESULT=13,001.94

NUMBERRESULT2=13,001.9391

百分比 P p

該數字已被轉換為代表百分比的字串。轉換後的數字乘以 100,使之以百分比表示。

包括一個精度指定元,表示您希望該結果具有的小數位數。如果未包含精度指定元,則預設值為小數點後兩位。如果數字不包含小數點,輸出數字中將新增 .00

ASSIGN StringVal = "0013001.93912837"
ASSIGN PercentResult = "{StringVal.format('P')}"
ASSIGN PercentResult2 = StringVal.format('P2')	

結果

PERCENTRESULT=1,300,193.91%

PERCENTRESULT2=1,300,193.91%

來回 R r

僅單精度型和雙精度型支援此格式。往復指定元保證已轉換為字串的數值將解析回相同的數值。當使用此指定元格式化數值時,首先使用一般格式對其進行測試,雙精度為 15 個空格,單精度為 7 個空格。若該值已成功解析回相同的數值,則使用一般格式指定元對其進行格式化。但是,如果該值沒有成功解析回相同的數值,則將使用雙精度的 17 位數和單精度的 9 位數對該值進行格式化。

雖然可以存在精度指定元,但其已被忽略。使用此指定元時,往復優先於精度。

ASSIGN StringVal = "0013001.93912837"
ASSIGN RoundTripResult = "{StringVal.format('R')}"	

結果

ROUNDTRIPRESULT=13001.93912837

零預留位置 0

使用一個或多個零預留位置來定義輸出中數字的格式。您可以將此預留位置與表中定義的其他預留位置字元合併。

如果被格式化的值在格式字串中 0 出現的位置上有一個數字,那麼該數字出現在輸出子串中。如果 0 出現的位置上未出現數字,那麼 0 將出現在輸出子串中。這有助於將零新增到需要前置零但沒有前置零的數字中。

小數點前最左邊的「0」和小數點後最右邊的「0」的位置決定了輸出字串中始終存在的位數。

00 指定元使數值重設為最接近的整數。

ASSIGN number = "2343456.2343"
ASSIGN zeroPlaceholders = "number.format(000,000.00)
ASSIGN number = "456.47"
ASSIGN doubleZeroSpecifier = number.format('00')

範例的結果

zeroPlaceholders = 2,343,456.23

doubleZeroSpecifier = 456

數位預留位置 #

使用一個或多個數位預留位置來定義輸出中數字的格式。您可以將此預留位置與表中定義的其他預留位置字元合併。

如果被格式化的值在格式字串中 # 出現的位置上有一個數字,那麼該數字出現在輸出結果中。如果 # 出現的位置上未出現數字,那麼輸出子串中的該位置為空。

如果被格式化的數字包含 0 作為有效數位,則 0 將出現在輸出字串中。如果 0 不是有效數位,則不會出現在輸出字串中,即使 0 是被格式化的字串中的唯一數字。

## 格式子串使數值重設為最接近的整數。

ASSIGN number = "2343456.2043"
ASSIGN digitPlaceholders = "number.format(###,###.##)
ASSIGN number = "456.47"
ASSIGN doubleDigitSpecifier = number.format('##')

範例的結果

digitPlaceholders = 2,343,456.2

doubleDigitSpecifier = 456

小數點 .

格式字串中的第一個句號 ( .決定了十進制分隔符在格式化值中的位置。任何額外的句號字元將被忽略。

千位分隔符和記數法 ,

逗號 ( , )字元既用作千位分隔符指定元又用作記數法指定元。

千位分隔符指定元:若在格式化數字整數的兩個數位預留位置(0#)之間指定了一個或多個逗號 ( , ) 字元,則在輸出的整數部分中的每個數字群組之間插入一個群組分隔符字元。例如,如果使用字串 #,# 和非變異文化特性來格式化數字 1000,則輸出為 1,000。

記數法指定元:如果在顯小數點或隱小數點的左側緊接指定一個或多個逗號 ( , ) 字元,則對於每個記數法指定元,要格式化的數字將除以 1000。例如,如果使用字串 0,, 來格式化數字 1 億,則輸出為 100

您可以在相同的格式字串中使用千位分隔符和記數法指定元。例如,如果使用字串 #,0,, 和非變異文化特性來格式化數字 10 億,則輸出為 1,000

部分分隔符 ;

允許對數字指定兩種或三種可能的格式選項。格式的套用取決於數字是正數、負數還是零。

格式選項定義為單字串。每個選項都用分號 ( ; ) 字元分隔。如下例所示,使用零、位、千位和十位預留位置來指定格式。這些預留位置已在表中列出。

如果自訂格式字串中有兩個部分:

  • 左側部分定義正數和零的格式。
  • 右側部分定義負數的格式。

例如:

ASSIGN number9 = 928374
ASSIGN sectionSeparator4 = number9.format('000,000.##;00.##')

ASSIGN number10 = -998822.25
ASSIGN sectionSeparator5 = number10.format('000,000.##;00.##')

ASSIGN number11 = 0
ASSIGN sectionSeparator6 = number11.format('000,000.##;00.##')	

範例的結果

sectionSeparator4 = 928,374

sectionSeparator5 = 998822.25

sectionSeparator6 = 000,000

如果存在三個部分:

  • 左側部分定義正數的格式。
  • 第二部分定義負數的格式。
  • 右側部分定義零的格式。

例如:

ASSIGN number1 = 1789789
ASSIGN sectionSeparator1 = number1.format('000,000.##;00.##;000.0000')

ASSIGN number2 = 0
ASSIGN sectionSeparator2 = number2.format('000,000.##;00.##;000.0000')

ASSIGN number3 = -4321
ASSIGN sectionSeparator3 = number3.format('000,000.##;00.##;000.0000')

範例的結果

sectionSeparator1 = 1,789,789

sectionSeparator2 = 000.0000

sectionSeparator3 = 4321

所有其他字元 其他

所有其他字元

將任何其他字元複製到結果字串中,不會影響格式。

轉義序列

Studio支援字串常數中的轉義序列。轉義序列允許您在字串中包含某些特殊字元。雙引號或左大括號等字元被識別為代碼。當字串中包含這些字元時,編譯器會以非字面代碼的含義而不是字面值來解釋它們。使用 Escape 序列可以在字串中包含這些字元。如果在字串中包含這些字元而不使用轉義序列,輸出結果將與您預期的不同,並可能導致錯誤。

您不需要將轉義序列新增至包含轉換 XML 或 JSON 的字串。自動為需要轉義序列的字元新增轉義序列。

在使用轉義序列的字串前加上美元符號($):$"...".在雙引號內,您可以使用以下任何一個轉義序列:

序列 詳細資訊
\" 嵌入雙引號。
\' 嵌入單引號。
\t 嵌入 Tab (ASCII 9)。
\r 嵌入歸位字元 (ASCII 13)。
\n 嵌入換行符號 (ASCII 10)。
\b 嵌入退格鍵 (ASCII 8)。
\{ 嵌入一個左大括號。如果在結尾大括號之前的文字中沒有轉義的左大括號,則只需轉義結尾大括號。如果需要轉義結尾大括號,則如下所示:\}
\0 嵌入空值(0 是零)。

下面的範例使用\n轉義序列為字串結果換行符號。這將游標向下移動到下一行,而不會返回到該行的開頭。

x = $"A phrase\nAnd a new line"

列印該字串時,輸出結果如下:

A phrase

And a new line ]

在上例中,結尾的方括號代表游標。

下面的範例使用\"轉義序列在字串中加入雙引號:

y = $"Embedding \"double quotes\" in a string."

字串列印出來後如下所示:Embedding "double quotes" in a string.如果沒有轉義序列,指令碼只能識別到 double 字前的雙引號為止的字串。

下面的範例使用\{ 轉義序列在字串中加入字面大括號:

z = $"Using \{curly} braces."

字串列印出來後如下所示:Using {curly} braces.如果沒有轉義序列,指令碼會將{curly}解釋為一個變數。當沒有找到變數 curly 的值時,指令碼會將其替換為空值,因此變數的值將是Using braces.

其他字元

字元 描述
" 表示帶引號的字串(引號)。顯示兩個引號 (") 之間的任何字串的常值。在指令碼中任何需要顯示文字引號的地方使用轉義字元 (\)。
' 表示帶引號的字串(所有格符號)。顯示兩個所有格符號 (') 字元之間的任何字串的常值。在指令碼中任何需要顯示文字所有格符號字元的地方使用轉義字元 (\)。
$

使用包含轉義序列的序列。$ 字元必須位於雙引號之外。例如:

z = $"Use the \{myVar} variable."

#

用於為值新增首碼,以將其聲明為日期/時間類型。# 字元必須在雙引號之外。例如:

ASSIGN var = #"02/09/2023"

% 單獨使用單指定元時,與日期/時間格式指定元一起使用。% 字元直接位於格式指定元字元之前。例如,要只輸出分鐘,請使用 %m