新增日期和時間並設定其格式,以顯示正確的詳細資料層級,或反映您的地區設定。 計算兩個日期之間相隔的時間量,或計算您所指定日期之前或之後一段時間的日期。 在日期與日、月和年的個別值之間來回轉換,以及在時間與小時、分鐘和秒鐘的個別值之間來回轉換。

例如,新增來自使用者有關股票交易或客戶會議的資料、來自外部來源的資料,或來自 PowerApps 中所建立之另一個應用程式的資料。 如果該資料包含的時間計算到毫秒,則將它四捨五入至最接近的分鐘,以求簡化。 計算還有多少天才會到達重大里程碑。 如果您想要排程每隔五天舉行一次客戶會議,則自動計算這些日期。 如果 1985 年 5 月 10 日分別儲存在日、月和年的欄位中,則將這些欄位合併成單一值。 相反地,如果您的應用程式分開管理這些值,請將每個日期拆解成個別值。

必要條件

  • 註冊 PowerApps、加以安裝、予以開啟,然後以您註冊時所使用的認證登入。
  • 在 PowerApps 中建立應用程式或開啟現有的。
  • 了解如何在 PowerApps 中設定控制項

在標籤控制項中顯示文字

設定標籤控制項之 Text 屬性的值,以在控制項中顯示文字。 直接輸入到控制項或在公式列中輸入運算式,以設定此屬性。

  • 如果您直接輸入到控制項,它會一字不漏地顯示您輸入的內容。
  • 如果您在公式列中輸入運算式,控制項則會顯示運算式的結果。

以下是一些範例。

  1. 新增名為 ShowText標籤控制項,並將其 Text 屬性設為以下公式:
    Now()

    如果您的電腦設定為「en-us」地區設定,則目前的日期和時間會以這種格式顯示︰
    mm/dd/yyyy hh:mm AM/PM

    如果您的電腦設定為「fr-fr」之類的地區設定,則目前的日期和時間會以這種格式顯示︰
    dd/mm/yyyy hh:mm AM/PM

  2. ShowTextText 屬性設定為以下公式:
    DateDiff(Today(), DateValue("01/01/2020"))

    今天和 2020 年 1 月 1 日之間相隔的天數

    此控制項會使用下列函式顯示今天和 2020 年 1 月 1 日之間相隔的天數︰

    • DateDiff,計算兩個日期之間相隔的天數、季數或年數。
    • Today,計算當天的值。
    • DateValue,將常值字串 (雙引號之間顯示的日期) 轉換為可供執行計算的值。
  3. 新增名為 BirthDate文字輸入控制項,並將它移到 ShowText 底下。

  4. BirthDate 中,輸入您的出生月日 (例如,05/18)。

  5. ShowTextText 屬性設定為以下公式:
    DateDiff(Today(), DateValue(BirthDate.Text))

    今天和您的生日之間相隔的天數

    ShowText 會顯示今天和您在 BirthDate 中所輸入之日期之間相隔的天數。 如果您今年的生日已過,ShowText 會顯示負數值。

使用 DateTimeValue 設定日期和時間的格式

將日期和時間從文字字串轉換為值,而您可將其設定為各種格式並用於計算。 使用內建和自訂選項來指定格式。

注意:

DateTimeValueDateValue 函式可將下列任何一種格式的日期轉換為值︰
- MM/DD/YYYY
- DD/MM/YYYY
- DD Mon YYYY
- Month DD, YYYY

  1. 新增名為 ArrivalDateTime文字輸入控制項,並輸入下列格式的日期和時間︰
    5/10/85 6:15 AM

  2. 新增名為 ShowDate標籤控制項,並將其 Text 屬性設為以下公式:
    DateTimeValue(ArrivalDateTime.Text)

    將日期/時間從文字轉換為值

    ShowDate 會顯示您所輸入的相同資訊,但該資訊已從文字轉換為值且使用不同格式。 例如,年會顯示為四位數,而非只有兩位數。

  3. ShowDateText 屬性變更為下列公式:
    DateTimeValue(ArrivalDateTime.Text, "fr")

    以法文格式顯示日期/時間值

    ShowDate 會以先日後月的方式顯示,正如法文使用者所預期的格式。

    秘訣

    若要在 Intellisense 中顯示其他地區設定的清單,請從公式中移除右引號和 fr,但保留左引號︰

    顯示地區設定清單

  4. 若要使用幾種內建格式的其中一種,請將 ShowDateText 屬性變更為以下公式︰
    Text(DateTimeValue(ArrivalDateTime.Text), DateTimeFormat.LongDateTime)

    以法文格式顯示日期/時間值

    ShowDate 會顯示星期幾、日期和時間。

    秘訣

    DateTimeFormat 參數支援其他幾種內建格式。 若要顯示該清單,請從公式中移除 LongDateTime

  5. 若要使用自訂格式,請將 ShowDateText 屬性變更為以下公式:
    Text(DateTimeValue(ArrivalDateTime.Text), "mm/dd/yyyy hh:mm:ss.fff AM/PM")

    以法文格式顯示日期/時間值

    ShowDate 會以您指定的格式顯示日期/時間值 (包含毫秒)。

    秘訣

    若要將時間四捨五入至最接近的十分之一或百分之一秒,請在公式中指定 hh:mm:ss.fhh:mm:ss.ff

使用 DateValue 設定日期的格式

  1. 新增名為 ArrivalDate文字輸入控制項,然後在其中輸入日期 (例如,5/10/85)。

  2. 新增名為 FormatDate標籤控制項,並將其 Text 屬性設為以下公式:
    DateValue(ArrivalDate.Text)

    FormatDate 會顯示您所輸入的日期,但年會顯示為四位數。

  3. FormatDateText 屬性設定為以下公式:
    DateValue(ArrivalDate.Text, "fr")

    FormatDate 會以先日後月的方式顯示,正如法文使用者所預期的格式。

  4. 若要使用幾種內建格式的其中一種,請將 FormatDateText 屬性設定為以下公式︰
    Text(DateValue(ArrivalDate.Text), DateTimeFormat.LongDate)

    FormatDate 會顯示星期幾、月、日和年。

  5. 若要使用自訂格式,請將 FormatDateText 屬性設定為以下公式:
    Text(DateValue(ArrivalDate.Text), "yy/mm/dd")

    FormatDate 會以您指定的格式顯示日期。

使用 DateTimeValue 設定時間的格式

  1. 新增名為 ArrivalTime文字輸入控制項,然後在其中輸入 6:15 AM

  2. 新增名為 ShowTime標籤控制項。

  3. 若要使用幾種內建格式的其中一種,請將 ShowTimeText 屬性設定為以下公式︰
    Text(DateTimeValue(ArrivalTime.Text), DateTimeFormat.LongTime)

    ShowTime 會顯示您所指定的時間 (包括秒)。

  4. 若要使用自訂格式,請將 ShowTimeText 屬性設定為以下公式:
    Text(DateTimeValue(ArrivalTime.Text), "hh:mm:ss.fff AM/PM")

    ShowTime 會顯示您所指定的時間 (包括秒和毫秒)。

    秘訣

    若要將時間四捨五入至最接近的十分之一或百分之一秒,請在公式中輸入 hh:mm:ss.fhh:mm:ss.ff

顯示日期之間相隔的時間

  1. 新增兩個分別名為 StartEnd文字輸入控制項。

  2. Start 中輸入 4/1/2015,並在 End 中輸入 1/1/2016

  3. 新增名為 DateDiff標籤控制項,並將其 Text 屬性設為以下公式:
    DateDiff(DateValue(Start.Text), DateValue(End.Text))

    比較兩個日期

    DateDiff 會顯示 275,這是 2015 年 4 月 1 日和 2016 年 1 月 1 日之間相隔的天數。

  4. DateDiffText 屬性設定為以下公式:
    DateDiff(DateValue(Start.Text), DateValue(End.Text), Months)

    DateDiff 會顯示 9,這是 2015 年 4 月 1 日和 2016 年 1 月 1 日之間相隔的月份數。 將 Months 替換為 QuartersYears 可顯示這些單位的時間。

找出某個日期之前或之後的另一個日期

  1. 新增名為 Start文字輸入控制項,並在其中輸入 5/10/1985

  2. 新增名為 DateAdd標籤控制項,並將其 Text 屬性設為以下公式:
    DateAdd(DateValue(Start.Text), 3)

    加 3 天

    DateAdd 會顯示 5/13/1985,這是 Start 中日期的三天後。

  3. DateAddText 屬性設定為以下公式:
    DateAdd(DateValue(Start.Text), -3)

    減 3 天

    DateAdd 會顯示 5/7/1985,這是 Start 中日期的三天前。

  4. DateAddText 屬性變更為下列公式:
    DateAdd(DateValue(Start.Text), 3, Months)

    加 3 個月

    此標籤會顯示 8/10/1985,這是 Start 中日期的三個月後。 將 Months 替換為 QuartersYears 可找出 Start 中日期之前或之後指定季數或年數的日期。

依據年、月和日來計算日期

  1. 新增三個分別名為 YearMonthDay下拉式清單控制項。

  2. YearItems 屬性設定為以下公式:
    Table({Year:"2014"}, {Year:"2015"}, {Year:"2016"})

  3. MonthItems 屬性設定為以下公式:
    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"})

  4. DayItems 屬性設定為以下公式:
    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"})

  5. 新增標籤控制項,並將其 Text 屬性設定為下列公式:
    Text(Date(Value(Year.Selected.Value), Value(Month.Selected.Value), Value(Day.Selected.Value)), DateTimeFormat.LongDate)

    預設會列出 Wednesday, January 1, 2014。 在下拉式清單控制項中選取不同值,可變更標籤控制項中的日期。

您可能需要將非預期的資料進行轉換。 如果您新增文字輸入控制項而非下拉式清單控制項,使用者可能會輸入錯誤日期,例如 May 45。 Date 函式可使用下列方式處理格式不符的資料︰

  • 如果年份值介於 0 和 1899 (含) 之間,此函式會將該值加到 1900 來計算年份。
  • 如果年份值介於 1900 和 9999 (含) 之間,此函式會使用該值作為年份。
  • 如果年份值小於 0 或是大於或等於 10000,此函式會傳回錯誤值。
  • 如果月份值大於 12,此函式會將該月份數加到指定年份的第一個月。
  • 如果月份值小於 1,此函式會從指定年份的第一個月減去該月份數,再加上 1。
  • 如果日期值大於指定月份的天數,此函式會將該天數加到該月份的第一天,並傳回對應的後續月份日期。
  • 如果日期值小於 1,此函式會從指定月份的第一天減去該天數,再加上 1。

依據小時、分和秒來計算時間

  1. 新增兩個分別名為 HourMinute下拉式清單。

  2. HourItems 屬性設定為以下公式:
    Table({Hour:"9"}, {Hour:"10"}, {Hour:"11"}, {Hour:"12"}, {Hour:"13"}, {Hour:"14"}, {Hour:"15"}, {Hour:"16"}, {Hour:"17"})

  3. MinuteItems 屬性設定為以下公式:
    Table({Minute:"0"}, {Minute:"15"}, {Minute:"30"}, {Minute:"45"})

  4. 新增標籤控制項,並將其 Text 屬性設定為下列公式:

    Text(Time(Value(Hour.Selected.Value), Value(Minute.Selected.Value), 0), DateTimeFormat.ShortTime)

  5. Hour 中選取 15,並在 Minute 中選取 45

    適用於標籤控制項會顯示 3:45 PM

    您可以在 HourMinute 中新增項目,讓使用者可從更大範圍的小時和更精確的分鐘數中進行選取。 您也可以新增第三個下拉式清單控制項,讓使用者可以指定秒數。 如果您新增第三個清單,請將標籤控制項的 Text 屬性設定為下列運算式︰
    Text(Time(Value(Hour.Selected.Value), Value(Minute.Selected.Value), Value(Second.Selected.Value)), DateTimeFormat.LongTime)