Support Dashboard Formulierrecepten Het verschil tussen twee datums berekenen

Het verschil tussen twee datums berekenen

Je hebt mogelijk een scenario waarin je de totale tijd wilt vastleggen die een gebruiker nodig heeft om een formulier in te vullen of het verschil tussen de start- en eindtijden van een activiteit op basis van gebruikersinvoer.

Dit is waar de DATEDIFF() functie van pas komt. Deze kan worden gebruikt in de Dynamic Value eigenschap van velden en berekent het verschil tussen twee datums.

DATEDIFF({{startDate}}, {{endDate}}, 'unit')

De functie vereist een startDate en een endDate datumwaarde en een unit van tijd die moet worden opgegeven om de waarde in terug te geven, bijvoorbeeld jaren, maanden, dagen, uren of seconden.

Het enige wat nu nog overblijft is wanneer en hoe de start- en eindtijden worden vastgelegd, wat dit artikel behandelt.


Datums en tijden vastleggen vanuit Datum/Tijd-velden

Wanneer je het verschil tussen twee Datum/Tijd-velden in een formulier wilt bepalen, kan de DATEDIFF() functie worden gebruikt, bijvoorbeeld in een tekst-, numeriek of verborgen veld in de Dynamic Value eigenschap.

Stel dat de datanamen van twee Datum/Tijd-velden startDate en endDate zijn, en we willen het tijdverschil in uren berekenen in een Tekstveld. De formule in de Dynamic Value eigenschap van het Tekstveld zou er als volgt uitzien:

DATEDIFF({{startDate}} , {{endDate}} , 'HH')
Formulierrecepten: Het verschil tussen twee datums berekenen - schermafbeelding 1

Je zult opmerken dat de ‘unit’ specifier ‘HH’, die de waarde in uren retourneert. Als je het in een ander tijdeenheid nodig hebt, kan het volgende worden gebruikt:

  • YY – hele jaren
  • MM – hele maanden
  • DD – hele dagen
  • HH – hele uren
  • MI – hele minuten
  • SS – hele seconden

Datums en tijden vastleggen bij interactie met velden

Wanneer je een datum-/tijdwaarde wilt vastleggen wanneer een gebruiker met een veld werkt, bijvoorbeeld wanneer een veld een waarde krijgt en niet meer leeg is.

Ten eerste heb je een functie nodig die een datum-/tijdwaarde retourneert. Ten tweede hoe je de datum-/tijdwaarde triggert en opslaat in een veld wanneer een ander veld wordt gebruikt.

Een paar functies die een datum-/tijdwaarde retourneren afhankelijk van je behoeften:

  • NOW()
  • TODAY()
  • UTCNOW()
  • UTCTODAY()

Het triggeren en formatteren van een datum-/tijdwaarde in een veld wanneer een ander veld een waarde heeft, kan worden bereikt met het volgende:

FORMAT-DATE(NOW({{dataname}}) , 'yyyy-MM-dd HH:mm:ss')

of

IF(NOTBLANK({{dataname}}) , FORMAT-DATE(NOW() , 'yyyy-MM-dd HH:mm:ss') , '')

Hier is een uiteenzetting van wat de bovenstaande functies doen:

  • NOW() retourneert de huidige lokale datum die door het apparaat wordt gemeld.
  • NOW({{dataname}}) parameter retourneert de datum wanneer het veld waarnaar dataname verwijst een waarde krijgt.
  • FORMAT-DATE() formateert de NOW() waarde om de volledige datum en tijd weer te geven die nodig is voor de DATEDIFF() functie.
  • NOTBLANK({{dataname}}) retourneert waar als het veld waarnaar dataname verwijst een waarde heeft, onwaar als niet.
  • IF() retourneert één van twee waarden op basis van of de gegeven voorwaarde waar of onwaar is.

De meeste .NET Format strings/specifiers kunnen werken met onze FORMAT-DATE() formulefunctie voor extra aanpassingen van vastgelegde Datums en Tijden.

Laten we nu naar een voorbeeld kijken. Stel dat de datanamen van het eerste en laatste veld in een formulier firstField en lastField zijn, en we willen het verschil in minuten berekenen in een Tekstveld.

Idealiter hebben we voor elke datumvastlegging een verborgen veld nodig voordat we het verschil berekenen. Laten we deze velden datanamen geven van firstFieldTime en lastFieldTime.

Formules in de Dynamic Value eigenschappen van de twee verborgen velden en het veld dat het verschil berekent, zouden er als volgt uitzien:

firstFieldTime (verborgen)

FORMAT-DATE(NOW({{firstField}}), 'yyyy-MM-dd HH:mm:ss')

lastFieldTime (verborgen)

FORMAT-DATE(NOW({{lastField}}), 'yyyy-MM-dd HH:mm:ss')
Formulierrecepten: Het verschil tussen twee datums berekenen - schermafbeelding 2

timeDifference

DATEDIFF({{firstFieldTime}} , {{lastFieldTime}} , 'MI')
Formulierrecepten: Het verschil tussen twee datums berekenen - schermafbeelding 3

Voorbeeld-app Datum-/Tijdverschil

In onze Voorbeeldencatalogus wacht een Voorbeeld-app Datum-/Tijdverschil op jou om deze te installeren en de bovengenoemde functionaliteit te testen.

Formulierrecepten: Het verschil tussen twee datums berekenen - schermafbeelding 4

Apps > Voorbeeldencatalogus > Voorbeeld-app Datum-/Tijdverschil

De app bestaat uit 4 pagina’s met verschillende velden om gegevens op verschillende manieren vast te leggen en weer te geven.

  1. Inleiding + Starttijd van formulier vastleggen
  2. Datumverschil
  3. Tijdverschil
  4. Eindtijd van formulier vastleggen + Samenvatting

Antwoord niet gevonden?

Staat jouw vraag er niet bij? Neem dan direct contact met ons op.

Contact opnemen