在畫布應用程式中顯示文字、日期和時間
在 Power Apps 中,將日期和時間新增至畫布應用式,並設定其格式以顯示正確的詳細資料層級,或反映您的地區設定。 計算兩個日期之間相隔的時間量,或計算您所指定日期之前或之後一段時間的日期。 在日期與日、月和年的個別值之間來回轉換,以及在時間與小時、分鐘和秒鐘的個別值之間來回轉換。
例如,新增來自使用者有關股票交易或客戶會議的資料、來自外部來源的資料,或來自 Power Apps 中所建立之另一個應用程式的資料。 如果該資料包含的時間計算到毫秒,則將它四捨五入至最接近的分鐘,以求簡化。 計算還有多少天才會到達重大里程碑。 如果您想要排定每隔五天舉行一次客戶會議,則自動計算這些日期。 如果 1985 年 5 月 10 日分別儲存在日、月和年的欄位中,則會將這些欄位合併成單一值。 相反地,如果您的應用程式分開管理這些值,請將每個日期拆解成個別值。
先決條件
在標籤控制項中顯示文字
設定**標籤** 控制項之 Text 屬性的值,以在控制項中顯示文字。 直接輸入到控制項或在公式列中輸入運算式,以設定此屬性。
- 如果您直接輸入到控制項,它會一字不漏地顯示您輸入的內容。
- 如果您在公式列中輸入運算式,控制項則會顯示運算式的結果。
以下列出一些範例。
新增名為顯示文字的**標籤** 控制項,並將其 Text 屬性設為以下公式:
Now()如果您的電腦地區設定為「en-us」,則目前的日期和時間會以這種格式顯示︰
mm/dd/yyyy hh:mm AM/PM如果您的電腦地區設定設為「fr-fr」之類的,則目前的日期和時間會以這種格式顯示︰
dd/mm/yyyy hh:mm AM/PM將顯示文字的 Text 屬性設定為以下公式:
DateDiff(Today(), DateValue("01/01/2020"))此控制項會使用下列函式顯示今天和 2020 年 1 月 1 日之間相隔的天數︰
- 日期差異,計算兩個日期之間相隔的天數、季數或年數。
- 今日,計算當天的值。
- 日期值,將常值字串 (雙引號之間顯示的日期) 轉換為可供執行計算的值。
新增名為出生日期的**文字輸入** 控制項,並將它移到顯示文字底下。
在出生日期中,輸入您的出生月日 (例如,05/18)。
將顯示文字的 Text 屬性設定為以下公式:
DateDiff(Today(), DateValue(BirthDate.Text))顯示文字會顯示今天和您在出生日期中所輸入之日期之間相隔的天數。 如果您今年的生日已過,顯示文字會顯示負數值。
使用日期時間值設定日期和時間的格式
將日期和時間從文字字串轉換為值,讓您可將其設定為各種格式並用於計算。 使用內建和自訂選項來指定格式。
新增名為抵達日期時間的**文字輸入** 控制項,並輸入下列格式的日期和時間︰
5/10/85 6:15 AM新增名為顯示日期的**標籤** 控制項, 並將其 Text 屬性設為以下公式:
DateTimeValue(ArrivalDateTime.Text)顯示日期會顯示您所輸入的相同資訊,但該資訊已從文字轉換為值且使用不同格式。 例如,年會顯示為四位數,而非只有兩位數。
將顯示日期的 Text 屬性變更為下列公式:
DateTimeValue(ArrivalDateTime.Text, "fr")顯示日期會以先日後月的方式顯示,正如法文使用者所預期的格式。
提示
若要在 Intellisense 中顯示其他地區設定的清單,請從公式中移除右引號和 fr,但保留左引號︰
若要使用幾種內建格式中的其中一種,請將顯示日期的 Text 屬性變更為以下公式︰
Text(DateTimeValue(ArrivalDateTime.Text), DateTimeFormat.LongDateTime)顯示日期會顯示星期幾、日期和時間。
提示
DateTimeFormat 參數支援其他幾種內建格式。 若要顯示該清單,請從公式中移除 LongDateTime。
若要使用自訂格式,請將顯示日期的 Text 屬性變更為以下公式:
Text(DateTimeValue(ArrivalDateTime.Text), "mm/dd/yyyy hh:mm:ss.fff AM/PM")顯示日期會以您指定的格式顯示日期/時間值(包含毫秒) 。
提示
若要將時間四捨五入至最接近的十分之一或百分之一秒,請在公式中指定 hh:mm:ss.f 或 hh:mm:ss.ff。
使用 DateValue 設定日期的格式
新增名為抵達日期的**文字輸入** 控制項,然後在其中輸入日期(例如,5/10/85)。
新增名為格式日期的**標籤** 控制項,並將其 Text 屬性設為以下公式:
DateValue(ArrivalDate.Text)格式日期會顯示您所輸入的日期,但年會顯示為四位數。
將格式日期的 Text 屬性設定為以下公式:
DateValue(ArrivalDate.Text, "fr")格式日期會以先日後月的方式顯示,正如法文使用者所預期的格式。
若要使用幾種內建格式的其中一種,請將格式日期的 Text 屬性設定為以下公式︰
Text(DateValue(ArrivalDate.Text), DateTimeFormat.LongDate)格式日期會顯示星期幾、月、日和年。
若要使用自訂格式,請將格式日期的 Text 屬性設定為以下公式:
Text(DateValue(ArrivalDate.Text), "yy/mm/dd")格式日期會以您指定的格式顯示日期。
使用 DateTimeValue 設定時間的格式
新增名為抵達時間的**文字輸入** 控制項,然後在其中輸入 6:15 AM。
新增名為顯示時間的**標籤** 控制項。
若要使用幾種內建格式的其中一種,請將顯示時間的 Text 屬性設定為以下公式︰
Text(DateTimeValue(ArrivalTime.Text), DateTimeFormat.LongTime)顯示時間會顯示您所指定的時間(包括秒)。
若要使用自訂格式,請將顯示時間的 Text 屬性設定為以下公式:
Text(DateTimeValue(ArrivalTime.Text), "hh:mm:ss.fff AM/PM")顯示時間會顯示您所指定的時間(包括秒和毫秒)。
提示
若要將時間四捨五入至最接近的十分之一或百分之一秒,請在公式中輸入 hh:mm:ss.f 或 hh:mm:ss.ff。
顯示日期之間相隔的時間
新增兩個名為開始和結束的**文字輸入** 控制項。
在開始中輸入 4/1/2015,並在結束中輸入 1/1/2016。
新增名為日期差異的**標籤** 控制項,並將其 Text 屬性設為以下公式:
DateDiff(DateValue(Start.Text), DateValue(End.Text))日期差異會顯示 275,這是 2015 年 4 月 1 日和 2016 年 1 月 1 日之間相隔的天數。
將日期差異的 Text 屬性設定為以下公式:
DateDiff(DateValue(Start.Text), DateValue(End.Text), Months)日期差異會顯示 9,這是 2015 年 4 月 1 日和 2016 年 1 月 1 日之間相隔的月份數。 將月替換為季或年,可顯示這些單位的時間。
找出某個日期之前或之後的另一個日期
新增名為開始的**文字輸入** 控制項,並在其中輸入 5/10/1985。
新增名為日期增加的**標籤** 控制項,並將其 Text 屬性設為以下公式:
DateAdd(DateValue(Start.Text), 3)日期增加會顯示 5/13/1985,這是開始中日期的三天後。
將日期增加的 Text 屬性設定為以下公式:
DateAdd(DateValue(Start.Text), -3)日期增加 會顯示 5/7/1985,這是開始中日期的三天前。
將日期增加的 Text 屬性變更為下列公式:
DateAdd(DateValue(Start.Text), 3, Months)此標籤會顯示 8/10/1985,這是開始中日期的三個月後。 將月替換為季或年,可找出開始中日期之前或之後指定季數或年數的日期。
依據年、月和日來計算日期
新增三個名為年、月和日的**下拉式選單** 控制項。
將年的 Items 屬性設定為以下公式:
Table({Year:"2014"}, {Year:"2015"}, {Year:"2016"})將月的 Items 屬性設定為以下公式:
Table({Month:"1"}, {Month:"2"}, {Month:"3"}, {Month:"4"}, {Month:"5"}, {Month:"6"}, {Month:"7"}, {Month:"8"}, {Month:"9"}, {Month:"10"}, {Month:"11"}, {Month:"12"})將日的 Items 屬性設定為以下公式:
Table({Day:"1"}, {Day:"2"}, {Day:"3"}, {Day:"4"}, {Day:"5"}, {Day:"6"}, {Day:"7"}, {Day:"8"}, {Day:"9"}, {Day:"10"}, {Day:"11"}, {Day:"12"}, {Day:"13"}, {Day:"14"}, {Day:"15"}, {Day:"16"}, {Day:"17"}, {Day:"18"}, {Day:"19"}, {Day:"20"}, {Day:"21"}, {Day:"22"}, {Day:"23"}, {Day:"24"}, {Day:"25"}, {Day:"26"}, {Day:"27"}, {Day:"28"}, {Day:"29"}, {Day:"30"}, {Day:"31"})新增**標籤** 控制項,並將其 Text 屬性設定為下列公式:
Text(Date(Value(Year.SelectedText.Value), Value(Month.SelectedText.Value), Value(Day.SelectedText.Value)), DateTimeFormat.LongDate)預設會列出 2014 年 1 月 1 日,星期三。 在**下拉式選單** 控制項中選取不同值,可變更**控制項** 控制項中的日期。
您可能會需要將非預期的資料進行轉換。 如果您新增**文字輸入** 控制項,而非**下拉式選單** 控制項,使用者可能會輸入錯誤日期,例如 5月 45。 Date 函式可使用下列方式處理格式不符的資料︰
- 如果年份值介於 0 和 1899(含)之間,此函式會將該值加到 1900 來計算年份。
- 如果年份值介於 1900 和 9999(含) 之間,此函式會使用該值作為年份。
- 如果年份值小於 0 或大於或等於 10000,此函式會傳回錯誤值。
- 如果月份值大於 12,此函式會將該月份數加到指定年份的第一個月。
- 如果月份值小於 1,此函式會從指定年份的第一個月減去該月份數,再加上 1。
- 如果日期值大於指定月份的天數,此函式會將該天數加到該月份的第一天,並傳回對應的後續月份日期。
- 如果日期值小於 1,此函式會從指定月份的第一天減去該天數,再加上 1。
依據小時、分和秒來計算時間
新增兩個分別名為小時和分的下拉式清單。
將小時的 Items 屬性設定為以下公式:
Table({Hour:"9"}, {Hour:"10"}, {Hour:"11"}, {Hour:"12"}, {Hour:"13"}, {Hour:"14"}, {Hour:"15"}, {Hour:"16"}, {Hour:"17"})將分的 Items 屬性設定為以下公式:
Table({Minute:"0"}, {Minute:"15"}, {Minute:"30"}, {Minute:"45"})新增**標籤** 控制項,並將其 Text 屬性設定為下列公式:
Text(Time(Value(Hour.SelectedText.Value), Value(Minute.SelectedText.Value),0), DateTimeFormat.ShortTime)在小時中選取 15,並在分中選取 45。
標籤 控制項會顯示 3:45 PM。
您可以在小時和分中新增項目,讓使用者可從更大範圍的小時和更精確的分鐘數中進行選取。 您也可以新增第三個**下拉式選單** 控制項,讓使用者可以指定秒數。 如果您新增第三個清單,請將**標籤** 控制項的 Text 屬性設定為下列運算式︰
Text(Time(Value(Hour.Selected.Value), Value(Minute.Selected.Value), Value(Second.Selected.Value)), DateTimeFormat.LongTime)