NEWS
[GELÖST] Datum heute, morgen, übermorgen etc.
-
Moin,
ich würde gerne mir das Datum für morgen, übermorgen etc. in einem View Anzeigen lassen.
Gefunden habe ich folgendes JS:
var heute = new Date();
var morgen = new Date(heute.getTime()+(1000 * 60 * 60 * 24 * 1)); // übermorgen wäre dann am Ende eine 2 anstatt 1
alert(morgen.getDate());
Nun meine Frage, da ich nicht wirklich weiterkomme…:
Geht das mit dem Script? Wie binde ich es ein, als Script oder in ein Widget? Wie bekomme ich es in der View angezeigt?
Danke euch
und Gruß,
Tom
-
So?
createState('Datum.Morgen', ""); createState('Datum.Uebermorgen', ""); var idMorgen = 'Datum.Morgen'; var idUebermorgen = 'Datum.Uebermorgen'; schedule(' 1 0 * * * ' , function(){ var heute = new Date(); var morgen = new Date(heute.getTime()+(1000 * 60 * 60 * 24 * 1)).toString(); var uebermorgen = new Date(heute.getTime()+(1000 * 60 * 60 * 24 * 2)).toString(); setState(idMorgen, morgen); setState(idUebermorgen, uebermorgen); });in Vis kannst du dann mit einem basic - string die Daten anzeigen.
Ungetestet
-
Hi,
vielen Dank tempestas, die State´s legt er an, aber er füllt sie nicht.
Ich denke mal das ihm das Datum fehlt. Habe versucht es irgendwie zu übergeben, aber ich bekomme es nicht hin:
// var heute = new Date(); // var morgen = new Date(heute.getTime()+(1000 * 60 * 60 * 24 * 1)); // übermorgen wäre dann am Ende eine 2 anstatt 1 // alert(morgen.getDate()); createState('Datum.heute', ""); createState('Datum.Morgen', ""); createState('Datum.Uebermorgen', ""); // var datum = new Date(); // var heute = datum.getDate()+ "." + (datum.getMonth()+ 1)+"." + datum.getFullYear() ; var idheute = new Date(); var idMorgen = 'Datum.Morgen'; var idUebermorgen = 'Datum.Uebermorgen'; schedule(' 1 0 * * * ' , function (){ var heute = new Date(); var morgen = new Date(heute.getTime()+(1000 * 60 * 60 * 24 * 1)).toString(); var uebermorgen = new Date(heute.getTime()+(1000 * 60 * 60 * 24 * 2)).toString(); setState(idheute, heute); setState(idMorgen, morgen); setState(idUebermorgen, uebermorgen); });Gruß,
Tom
-
Wenn nur das Datum angezeigt werden soll, verwendet man besser formatDate().
const idHeute = 'Datum.Heute'; const idMorgen = 'Datum.Morgen'; const idUebermorgen = 'Datum.Uebermorgen'; createState(idHeute, "", {type: 'string'}); createState(idMorgen, "", {type: 'string'}); createState(idUebermorgen, "", {type: 'string'}); schedule('1 0 * * *', function() { var heute = formatDate(new Date(), 'DD.MM.YY'); var morgen = formatDate(new Date().getTime() + 1 * 24 * 3600000, 'DD.MM.YY'); var uebermorgen = formatDate(new Date().getTime() + 2 * 24 * 3600000, 'DD.MM.YY'); setState(idHeute, heute); setState(idMorgen, morgen); setState(idUebermorgen, uebermorgen); }); -
-
Man könnte auch mit "setDate" ohne "rumrechnen" Tage zu einem Datum hinzurechnen..
z.B. so:
const idHeute = 'Datum.Heute'; const idMorgen = 'Datum.Morgen'; const idUebermorgen = 'Datum.Uebermorgen'; createState(idHeute, "", {type: 'string'}); createState(idMorgen, "", {type: 'string'}); createState(idUebermorgen, "", {type: 'string'}); schedule('1 0 * * *', function() { var date = new Date(); setState(idHeute, formatDate(date, 'DD.MM.YY')); setState(idMorgen, formatDate(date.setDate(date.getDate() + 1), 'DD.MM.YY')); setState(idUebermorgen, formatDate(date.setDate(date.getDate() + 2), 'DD.MM.YY')); });Gruß