NEWS
X Tage auf einen Datumswert addieren (Blockly) *gelöst*
-
Hallo zusammen,
leider bekomme ich es nicht hin, einen bestimmten Tageswert auf einen Datumswert aus einem Objekt mit Blockly zu addieren.
Ich hatte zum Testen jetzt mal den "Zeit berechnen" Block genommen, aber auch das scheint nicht zu funktionieren.Auch diese Möglichkeit hatte ich mir schon zusammengesucht, aber auch das funktioniert hier nicht:
Kann mir hier vielleicht jemand helfen?
Danke!
Gruß srufer
-
@surfer09
Blockly kann ich nicht.Deshalb so:
var d = new Date(); d.setDate(d.getDate() + 5 ); d = formatDate(d,"DD.MM.YYYY"); log (d)
Vielleicht kannst du damit was anfangen.
-
Das müsste doch gehen, wenn man erst nach Datum Objekt konvertiert. Dann die ms drauf und wieder in ein Format konvertiert was man mag.
@surfer09
Kommt dein DP mit dem Datum aus einem Adapter oder von dir?
Falls von dir würde ich immer mit einem Datumsobjekt arbeiten.
Ganz am Ende dann umwandeln. Oder so lassen und in vis mit einem Binding umrechnen. -
@bahnuhr geht das damit auch monatsübergreifend?
oder rechnet das 28. +5 = 33. -
@homoran sagte in X Tage auf einen Datumswert addieren (Blockly):
@bahnuhr geht das damit auch monatsübergreifend?
oder rechnet das 28. +5 = 33.probier es doch aus.
-
@bahnuhr sagte in X Tage auf einen Datumswert addieren (Blockly):
probier es doch aus.
mach ich wenn ich wieder an die Installation komme.
Ich versuche gerade nur mal wieder js-code zu verstehen -
Edit zu meinem Post (erinnere mich, hatte das schonmal).
Der konvertieren Block erwartet MM.TT.JJJJ, nicht TT.MM.TTTT. Das muss man sich vorher umdrehen im Skript wenn man nicht direkt mit einem Objekt arbeitet. Trag zum testen mL 12.12.2024 ein, dann müsste dein Skript (das zweite) funktionieren.
EDIT
So klappt es
Wenn ich das Datum auf den 13.12.2024 stelle nicht mehr. Hab das damals gelöst indem ich aus dem Datum eine Liste erstellt hab und es neu zusammengesetzt hab.
-
@surfer09
So geht's z.B.
-
-
@david-g: Ne, der Datumswert ist manuell eingetragen und als String deklariert. Ich möchte halt einfach "nur" X Tage auf das Datum addieren lassen.
-
-
Diese Möglichkeit hatte ich in den Antworten auch gerade gesehen. Das klappt aber ebenfalls nicht...
-
@surfer09 sagte in X Tage auf einen Datumswert addieren (Blockly):
Das klappt aber ebenfalls nicht...
dazu muss der Startwert ein Datumsobjekt sein.
-
@surfer09 sagte: Das klappt aber ebenfalls nicht...
Das Format "TT.MM.JJJJ" kann Javascript nicht auswerten. Man muss Tag und Monat tauschen oder das Standardformat "JJJJ-MM-TT" erzeugen.
-
Ahh okay. So würde es jetzt funktionieren:
@paul53: Bedeutet für mich jetzt, damit ich das Datum wie gewohnt eingeben kann, also 17.12.2024 muss ich dieses erst, mit deinem Blockly umdrehen und zum Schluss wieder umwandeln lassen auf TT.MM.JJJJ
-
@surfer09 sagte: Datum wie gewohnt eingeben kann, also 17.12.2024
Ja, wenn es gewandelt wird wie gezeigt.
@surfer09 sagte in X Tage auf einen Datumswert addieren (Blockly):
zum Schluss wieder umwandeln lassen auf TT.MM.JJJJ
Das Zieldatum wird in "TT.MM.JJJJ" gewandelt.
-
@paul53 Stimmt, das funktioniert auch...
-
Hier einmal das funktionierende Exemplar für alle:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="U4UQWk-V{eEEykKFYf=?">Liste</variable> <variable id="d0$iCs]yr^~LMc!OQ+9=">Reinigungsdatum</variable> </variables> <block type="variables_set" id="{~K4GTV8vocQK?:t?t6." x="-387" y="38"> <field name="VAR" id="U4UQWk-V{eEEykKFYf=?">Liste</field> <value name="VALUE"> <block type="lists_split" id="kiVh.X72eZ!(}-l--^|b"> <mutation mode="SPLIT"></mutation> <field name="MODE">SPLIT</field> <value name="INPUT"> <block type="get_value" id="{C5!*@jH54w~}26W^+dv"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Wartung.Spülmaschine-oben-gereinigt-am</field> </block> </value> <value name="DELIM"> <shadow type="text" id="9YG#{h0j2:WD@EnVq-RS"> <field name="TEXT">.</field> </shadow> </value> </block> </value> <next> <block type="variables_set" id="(4x.,yhxGK~T_M$Q3tCk"> <field name="VAR" id="d0$iCs]yr^~LMc!OQ+9=">Reinigungsdatum</field> <value name="VALUE"> <block type="text_join" id="M[e/d1~yJaqFXf-!x`ZO"> <mutation items="5"></mutation> <value name="ADD0"> <block type="lists_getIndex" id="htYvc$b8Ucd=xjw;ifuy"> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="?mM6kU(pM*~JYe()-KN:"> <field name="VAR" id="U4UQWk-V{eEEykKFYf=?">Liste</field> </block> </value> <value name="AT"> <block type="math_number" id="4sIN/M$`LT^srHkqg3m5"> <field name="NUM">3</field> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="`-G*:i8^E:ik1i]jr=_0"> <field name="TEXT">.</field> </block> </value> <value name="ADD2"> <block type="lists_getIndex" id="6Qus]MGn|o_T5yah`wq0"> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="B;s3/TOQvmwyTMYO+ly$"> <field name="VAR" id="U4UQWk-V{eEEykKFYf=?">Liste</field> </block> </value> <value name="AT"> <block type="math_number" id="ks8hw1:JtF!tR1]q!`Y3"> <field name="NUM">2</field> </block> </value> </block> </value> <value name="ADD3"> <block type="text" id="GwMvs*?s3nm)M#;sqgep"> <field name="TEXT">.</field> </block> </value> <value name="ADD4"> <block type="lists_getIndex" id="@~n*K!#IQ~J+QV#K4|/k"> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="5wfKJ=HTBAWLBGW}q_,g"> <field name="VAR" id="U4UQWk-V{eEEykKFYf=?">Liste</field> </block> </value> <value name="AT"> <block type="math_number" id="-4)beQjZiA}|/*X.BoBd"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </value> <next> <block type="control" id="UA=i4WLHkz,+@l7Bw%KU"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Wartung.Spülmaschine-oben-nächste-Reinigung</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="convert_from_date" id="uBBGjnZ:]A.CZ1#G*-1:"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">DD.MM.YYYY</field> <value name="VALUE"> <block type="time_calculation" id="+Mb1TgR#q}3MzLY^Fv_]"> <field name="OPERATION">+</field> <field name="UNIT">day</field> <value name="DATE_TIME"> <shadow type="time_get" id="{Lw$Eq?v3qlIUf)fozAE"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">object</field> </shadow> <block type="convert_from_date" id="-a:.|FOfMJ9hLC-eY^DF"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">object</field> <value name="VALUE"> <block type="variables_get" id="P30{zNc@bFl69S^b~yYH"> <field name="VAR" id="d0$iCs]yr^~LMc!OQ+9=">Reinigungsdatum</field> </block> </value> </block> </value> <value name="VALUE"> <shadow type="math_number" id="Ss5+R[FBWuSzY2Yf(/o]"> <field name="NUM">2</field> </shadow> </value> </block> </value> </block> </value> </block> </next> </block> </next> </block> </xml>
Danke für eure Hilfe!