Visa text, datum och tider i arbetsyteappar
Lägg till datum och tider i en app för arbetsytor i Power Apps och formatera dem för att visa rätt detaljnivå eller för att återspegla lokala förhållanden. Beräkna tiden mellan två datum eller beräkna ett datum som ligger en viss tid före eller efter ett datum som du anger. Konvertera datum till eller från olika värden för dagar, månader och år och konvertera tider till eller från olika värden för timmar, minuter och sekunder.
Du kan till exempel lägga till data från användare om aktiehandel eller klientmöten, data från en extern källa eller data från en annan app som skapats i Power Apps. Om dessa data omfattar tider på millisekunder är det enklare att runda av dem till närmaste minut. Beräkna hur många dagar som återstår före en viktig milstolpe. Om du vill schemalägga klientmöten var femte dag kan du beräkna dessa datum automatiskt. Om den 10 maj 1985 lagras i olika fält för dagen, månaden och året kan du sammanställa dem till ett enda värde. På motsatt sätt kan du även dela upp varje datum i separata värden om din app hanterar dem separat.
Förutsättningar
- Registrera dig för Power Apps och sedan logga in med samma autentiseringsuppgifter som du använde när du registrerade dig.
- Skapa en app eller öppna en befintlig app i Power Apps.
- Lär dig hur du konfigurerar en kontroll i Power Apps.
Visa text i en Etikett-kontroll
Visa text i kontrollen Etikett genom att ställa in värdet för egenskapen Text. Ställ in den här egenskapen genom att skriva direkt i kontrollen eller genom att skriva ett uttryck i formelfältet.
- Om du skriver direkt i kontrollen visas exakt det du skriver.
- Om du anger ett uttryck i formelfältet visar kontrollen resultatet av uttrycket.
Här följer några exempel.
Lägg till kontrollen Etikett med namnet ShowText och ställ in dess egenskap Text enligt följande formel:
Now()Om datorn är inställd med språkinställningarna för ”en-us”, visas aktuellt datum och tid i följande format:
mm/dd/yyyy hh:mm AM/PMOm datorn är inställd med de språkinställningarna för ”en-us”, visas aktuellt datum och tid i följande format:
dd/mm/yyyy hh:mm AM/PMStäll in textrutans Text-egenskap för ShowText enligt följande formel:
DateDiff(Today(), DateValue("01/01/2020"))Kontrollen visar antalet dagar mellan dagens datum och den 1 januari 2020 genom att använda dessa funktioner:
- DateDiff, som beräknar antalet dagar, kvartal eller år mellan två datum.
- Today, som beräknar den innevarande dagen som ett värde.
- DateValue, som konverterar en teckensträng, som visas inom dubbla citattecken, till ett värde på vilket beräkningar kan utföras.
Lägg till en Textinmatning-kontroll med namnet BirthDate och placera den under ShowText.
I BirthDate anger du månad och dag i ditt födelsedatum (till exempel 05/18).
Ställ in textrutans Text-egenskap för ShowText enligt följande formel:
DateDiff(Today(), DateValue(BirthDate.Text))ShowText visar antalet dagar mellan i dag och det datum du skriver in för BirthDate. Om din födelsedag redan har inträffat i år visar ShowText ett negativt värde.
Formatera datum och tider med DateTimeValue
Konvertera datum och tider från textsträngar till värden som du kan formatera på en mängd olika sätt och använda i beräkningar. Ange formatet med hjälp av inbyggda och anpassade alternativ.
Anteckning
Funktionerna DateTimeValue och DateValue kan konvertera datum i något av dessa format till värden:
- MM/DD/ÅÅÅÅ
- DD/MM/ÅÅÅÅ
- DD månad ÅÅÅÅ
- Månad DD ÅÅÅÅ
Lägg till en Textinmatning-kontroll med namnet ArrivalDateTime och ange ett datum och en tid i följande format:
5/10/85 6:15 AMLägg till kontrollen Etikett med namnet ShowDate och ställ in dess egenskap Text enligt följande formel:
DateTimeValue(ArrivalDateTime.Text)ShowDate visar samma information som du har angett, men den har konverterats från text till ett värde och formaterats annorlunda. Som exempel visas året med fyra siffror i stället för bara två.
Ändra Text-egenskapen för ShowDate enligt följande formel:
DateTimeValue(ArrivalDateTime.Text, "fr")ShowDate visar dagen före månaden, vilket en fransk användare förväntar sig.
Tips
Om du vill visa en lista över andra språk i Intellisense, tar du bort det avslutande citattecknet och fr från formeln men lämnar det inledande citattecknet:
Om du vill använda ett av de olika inbyggda formaten, ändrar du Text-egenskapen för ShowDate enligt den här formeln:
Text(DateTimeValue(ArrivalDateTime.Text), DateTimeFormat.LongDateTime)ShowDate visar veckodagen, datumet och tiden.
Tips
Parametern DateTimeFormat har stöd för flera andra inbyggda format. Om du vill visa den listan tar du bort LongDateTime från formeln.
Om du vill använda ett anpassat format, ändrar du Text-egenskapen för ShowDate enligt följande formel:
Text(DateTimeValue(ArrivalDateTime.Text), "mm/dd/yyyy hh:mm:ss.fff AM/PM")ShowDate visar datum/tid-värdet i det format som du har angett, inklusive millisekunder.
Tips
För att avrunda tiden till närmaste tiondel eller hundradel av en sekund anger du hh:mm:ss.f eller hh:mm:ss.ff.
Formatera ett datum med DateValue
Lägg till en Textinmatning-kontroll med namnet ArrivalDate och ange sedan ett datum i den (till exempel 5/10/85).
Lägg till kontrollen Etikett med namnet FormatDate och ställ in dess egenskap Text enligt följande formel:
DateValue(ArrivalDate.Text)FormatDate visar det datum som du har angett, med undantag för året som visas med fyra siffror.
Ställ in Text-egenskapen för FormatDate enligt följande formel:
DateValue(ArrivalDate.Text, "fr")FormatDate visar dagen före månaden, vilket en fransk användare förväntar sig.
Om du vill använda ett av de olika inbyggda formaten, ställer du in Text-egenskapen för FormatDate enligt den här formeln:
Text(DateValue(ArrivalDate.Text), DateTimeFormat.LongDate)FormatDate visar veckodagen, månaden, dagen och året.
Om du vill använda ett anpassat format, ställer du in Text-egenskapen för FormatDate enligt följande formel:
Text(DateValue(ArrivalDate.Text), "yy/mm/dd")FormatDate visar datumet i det format som du har angett.
Formatera en tid med DateTimeValue
Lägg till en Textinmatning-kontroll med namnet ArrivalTime och skriv sedan 6:15 AM i den.
Lägg till kontrollen Etikett med namnet ShowTime.
Om du vill använda ett av de olika inbyggda formaten, ställer du in Text-egenskapen för ShowTime enligt den här formeln:
Text(DateTimeValue(ArrivalTime.Text), DateTimeFormat.LongTime)ShowTime visar den tid som du angav, inklusive sekunder.
Om du vill använda ett anpassat format, ställer du in Text-egenskapen för ShowTime enligt följande formel:
Text(DateTimeValue(ArrivalTime.Text), "hh:mm:ss.fff AM/PM")ShowTime visar den tid som du angav, inklusive sekunder.
Tips
För att avrunda tiden till närmaste tiondel eller hundradel av en sekund anger du hh:mm:ss.f eller hh:mm:ss.ff i formeln.
Visa tiden mellan datum
Lägg till två Textinmatning-kontroll med namnet Start och End.
Skriv in 4/1/2015 i Start och skriv in 1/1/2016 i End.
Lägg till kontrollen Etikett med namnet DateDiff och ställ in dess egenskap Text enligt följande formel:
DateDiff(DateValue(Start.Text), DateValue(End.Text))DateDiff visar 275, vilket är antalet dagar mellan den 1 april 2015 och den 1 januari 2016.
Ställ in textrutans Text-egenskap för DateDiff enligt följande formel:
DateDiff(DateValue(Start.Text), DateValue(End.Text), Months)DateDiff visar 9, vilket är antalet dagar mellan den 1 april 2015 och den 1 januari 2016. Ersätt Months med Quarters eller Years för att visa tiden i dessa enheter.
Identifiera ett datum före eller efter ett annat datum
Lägg till en Textinmatning-kontroll med namnet Start och skriv 5/10/1985 i den.
Lägg till kontrollen Etikett med namnet DateAdd och ställ in dess egenskap Text enligt följande formel:
DateAdd(DateValue(Start.Text), 3)DateAdd visar 5/13/1985, vilket är tre dagar efter datumet för Start.
Ställ in Text-egenskapen för DateAdd enligt följande formel:
DateAdd(DateValue(Start.Text), -3)DateAdd visar 5/7/1985, vilket är tre dagar före datumet i Start.
Ändra Text-egenskapen för DateAdd enligt följande formel:
DateAdd(DateValue(Start.Text), 3, Months)Etiketten visar 8/10/1985, vilket är tre dagar efter datumet för Start. Ersätt Months med Quarters eller Years för att identifiera ett datum som infaller det angivna antalet kvartal eller år före eller efter datumet för Start.
Beräkna datum baserat på år, månader och dagar
Lägga till tre kontrollerna Listruta med namnen Year, Month, och Day.
Ställ in Items-egenskapen för Year enligt den här formeln:
Table({Year:"2014"}, {Year:"2015"}, {Year:"2016"})Ställ in Items-egenskapen för Month enligt den här formeln:
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"})Ställ in Items-egenskapen för Day enligt den här formeln:
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"})Lägg till kontrollen Etikett och ange egenskapen Text till följande formel:
Text(Date(Value(Year.SelectedText.Value), Value(Month.SelectedText.Value), Value(Day.SelectedText.Value)), DateTimeFormat.LongDate)Wednesday, January 1, 2014 visas som standard. Välj olika värden för kontrollerna Listruta för att ändra datumet i kontrollen Etikett.
Du kan behöva konvertera data som du inte förväntade dig. Om du lägger till Textinmatning-kontroll i stället för kontroller Listruta, kan en användare ange ett felaktigt datum, som 45 maj. Date-funktionen hanterar ovanliga data på följande sätt:
- Om årsvärdet ligger mellan 0 och 1899 (inklusive), lägger funktionen till detta värde till 1900 för att beräkna året.
- Om årsvärdet ligger mellan 1900 och 9999 (inklusive), använder funktionen det värdet som året.
- Om årsvärdet är mindre än 0 eller är 10 000 eller större, returnerar funktionen ett felaktigt värde.
- Om månadsvärdet är större än 12, lägger funktionen till det antalet månader till den första månaden för det angivna året.
- Om ett månadsvärde är mindre än 1, drar funktionen av det antalet månader plus 1 från den första månaden för det angivna året.
- Om ett dagsvärde är större än antalet dagar i den angivna månaden, lägger funktionen till det antalet dagar till den första dagen i månaden och returnerar motsvarande datum från en efterföljande månad.
- Om ett dagsvärde är mindre än 1, drar funktionen av så många dagar, plus 1, från den första dagen i den angivna månaden.
Beräkna tider baserat på timmar, minuter och sekunder
Lägg till två Nedrullningsbar listruta-listor med namnet Hour och Minute.
Ställ in Items-egenskapen för Hour enligt den här formeln:
Table({Hour:"9"}, {Hour:"10"}, {Hour:"11"}, {Hour:"12"}, {Hour:"13"}, {Hour:"14"}, {Hour:"15"}, {Hour:"16"}, {Hour:"17"})Ställ in Items-egenskapen för Minute enligt den här formeln:
Table({Minute:"0"}, {Minute:"15"}, {Minute:"30"}, {Minute:"45"})Lägg till kontrollen Etikett och ange egenskapen Text till följande formel:
Text(Time(Value(Hour.SelectedText.Value), Value(Minute.SelectedText.Value),0), DateTimeFormat.ShortTime)Välj 15 för Hour och 45 för Minute.
Kontrollen Etikett visar 3:45 PM.
Du kan lägga till poster till Hour och Minute så att användarna kan välja från ett större intervall av timmar och ett mer exakt antal minuter. Du kan också lägga till en tredje kontroll Listruta så att användarna kan ange sekunder. Om du lägger till en tredje lista ställer du in egenskapen Text för kontrollen Etikett till följande uttryck:
Text(Time(Value(Hour.Selected.Value), Value(Minute.Selected.Value), Value(Second.Selected.Value)), DateTimeFormat.LongTime)
Se även
Exempel på datumväljarkontroll
Anteckning
Kan du berätta om dina inställningar för dokumentationsspråk? Svara i en kort undersökning. (observera att undersökningen är på engelska)
Undersökningen tar ungefär sju minuter. Inga personuppgifter samlas in (sekretesspolicy).