Aktuelles Datum minus 5 Tage

Benoit1986

Grünschnabel
Hallo zusammen.

Als erstes möchte ich sagen das ich ned viel Ahnung (eher noob :) ) davon habe.

Ggf. kann mir einer von euch weiterhelfen.

Ich möchte wie unten beschrieben das aktuelle Datum wiederspiegeln.
getdate() habe ich auch probiert aber da spuckt der das Datum inkl. Uhrzeit etc. aus.

Was ich benötige ist:

Aktuelle Datum minus 5 Tage.
Also heute ist der 24.06.2018 und der Output soll anzeigen: "Hier steht ein Datum: 19.06.2018".
Sehr gerne sogar die Darstellung im Format: 19. Juni 2018 :)

Wie unten beschrieben funktioniert es zwar aber verständlicherweise kann beim Tag
hier auch ein minuswert entstehen, wenn wir z.B. der 02.07.2018 das aktuelle Datum ist.

Habt Ihr ggf. ne idee?
Bitte wenn es geht kommpletten Code, da wie beschrieben mein wissen in Grenzen hält :p

Vielen Dank schonmal und ein schönes WE

-----------------------------------------------------------------------

string datum = "";
integer tag = 0;
integer monat = 0;
integer date = 0;
integer jahr = 0;
date mydate;

tag = mydate.getday() -5;
monat = mydate.getmonth();
jahr = mydate.getyear();

tag = mydate.getday();

agent.say("Hier steht ein Datum: " + integertostring(tag)+ "." + integertostring(monat) + "." + integertostring(jahr) + ".");
 
Verwende nee Date()
Und dann nimmst du date.getDay() - 4
Da es ein Array ist fängt er bei null an daher - 4 :)
 
haste ggf. den genauen code?
hatte ich auch mal probiert, aber irgend wie kam der dann immer mit meinen definitionen ned so wirklich klar :). tut mir leid bin da wirklich etwas vernoobt :D
 
Bei Datumsangelegenheiten wäre ich immer vorsichtig mit der erstbesten (ggf. naiven) Lösung ;) Da kann man leicht etwas mit Zeitzonen, Monats- oder Jahresgrenzen und auch Schaltjahren übersehen.

Am besten benutzt man eine Bibliothek wie z. B. Moment.js
Javascript:
moment().subtract(5, 'days').format('LL');

jsFiddle: https://jsfiddle.net/nm4c5zdb/5/


-> Lieber Moment Timezone nutzen, was echte Zeitzonen und nicht nur Offsets bietet.
 
Zuletzt bearbeitet:
Hi,

einfach mit Timestamps rechnen und das native Date-Objekt benutzen.
Javascript:
new Date(new Date().getTime() - (1000 * 24 * 60 * 60 * 5))

Ciao
Quaese
 
das problem was ich habe ich kann nur mit den bestehenden Bibliotheken arbeiten. Moment.js ist leider nicht enthalten :(
Das von Quaese sah viel versprechend aus, zumindest aus sicht eines unwissenden :)
 
das problem was ich habe ich kann nur mit den bestehenden Bibliotheken arbeiten. Moment.js ist leider nicht enthalten :(
Warum darfst du keine weiteren Libs nutzen?
Aus meiner Sicht hast du nur 3 Möglichkeiten:
  • Eine Bibliothek nutzen
  • Das Rad neu erfinden, damit einhergehend: Stunden an Arbeit, mit ziemlicher Sicherheit einige Bugs, nötige Wartung, Tests und Dokumentation
  • Eine unzureichende falsche Lösung nutzen. Je nach Anwendungsfall kann das noch annähernd in Ordnung sein, aber bitte kommentiere das sowohl im Code als auch in der Doku/Wiki, dass es Fehler geben wird.
 
Zurück