Dynamische Datumswerte in URL oder Anfragetext

Wir können dynamische Datumswerte in dem URL oder im HTTP-Anfragetext erzeugen. Das kann nützlich für Webservices sein, die die Eingabe eines Datumswerts als Teil des Anfragetexts für ein HTTP POST erfordern, beispielsweise:

… <StartDate>2013-11-27</StartDate> ...

Statt eines festen Werts einzugeben, kann man folgende Notation verwenden, um Werte auf Grundlage des heutigen Datums/Uhrzeit zu erzeugen:

… <StartDate>{datetime;yyyy-MM-dd}</StartDate> …

Bitte beachten Sie, dass andere Formatwerte ebenfalls möglich sind. Darüber hinaus können wir den Ausgleich nutzen, um unterschiedliche Werte zu berechnen.

Diese Notation wird dann mit einem tatsächlichen Wert ersetzt, indem Datum/Uhrzeit von heute eingesetzt werden und der entsprechende Wert berechnet/formatiert wird.

Notation

Das generische Format für dynamische Daten ist:

{datetime;format;offset;skipdates}

  • format: bestimmt die Formatierung von Datum/Uhrzeit anhand Kennungen für Tag/Monat/Jahr/Stunde/Minuten/Sekunden: dd, MM, yyyy, HH, mm, ss
  • offset: Wert, der die Tagesverschiebung in Bezug auf Datum und Uhrzeit definiert. Positive Werte berechnen Daten in der Zukunft; negative Werte berechnen Daten in der Vergangenheit.
  • skipdates: überspringt spezifizierte Daten (definiert im Format yyyy-MM-dd) oder Wochenendtage (definiert als 'w')

Beispiele

{datetime;MM/dd/yyyy;1}        „morgen“ im amerikanischen Format

{datetime;dd-MM-yyyy;-1}       „gestern“ im niederländischen Format

{datetime;MM/dd/yyyy;3;W}   drei Tage von heute, aber Wochenendtage überspringen

{datetime;MM/dd/yyyy;1;W,2013-12-25,2014-01-01}   drei Tage von heute, aber Wochenendtage überspringen, 1. Weihnachtstag 2013 und Neujahrstag 2014

{datetime;yyyy-MM-ddTHH:mm:ss"GMT+00:00"}         „jetzt“ im ISO-Format

Der Ausgleich für Stunden und Minuten sind auch möglich.

Ein letztes Beispiel, wie dies in einem tatsächlichen URL aussieht, die in einem Prüfobjekt angegeben ist (Erzeugen zweier Daten: heute + 7 Tage und heute + 14 Tage):

http://www.mysite.com/Search?startDate={datetime;yyyy-MM-dd;7}&endDate={datetime;yyyy-MM-dd;14}

Hinweis: Sie können diese Notation ebenfalls im Anfragetext für ein HTTP/Webservice-Prüfobjekt nutzen.