Datum in Tag, Monat und Jahr zerlegen
Hallo,
ich möchte ein Datum vom Format tt.mm.yyyy z.B. 17.06.2013 in Tag=17, Monat=6 und Jahr=2013 als Zahlen bekommen.
Auszug aus Code:
rem Datum: 17.06.2013
for /f "tokens=1,2,3 delims=." %%i in ("%Datum%") do (
set /a day=%%i
set /a month=%%j
set /a year=%%k
)
echo day=%day%
echo month=%month%
echo year=%year%
pause
Ich bekomme aber nur für den Tag (day) ein Ergebnis, nämlich 17, nicht aber für Monat (month) und Jahr (year).
Im cmd-Window wird dann die Meldung ausgegeben:
Ungültige Zahl. Numerische Konstanten sind entweder dezimale (17),
hexadezimale (0x11) oder oktale (021) Zahlen.
Ich versteht das nicht, warum diese Meldung kommt.
ich möchte ein Datum vom Format tt.mm.yyyy z.B. 17.06.2013 in Tag=17, Monat=6 und Jahr=2013 als Zahlen bekommen.
Auszug aus Code:
rem Datum: 17.06.2013
for /f "tokens=1,2,3 delims=." %%i in ("%Datum%") do (
set /a day=%%i
set /a month=%%j
set /a year=%%k
)
echo day=%day%
echo month=%month%
echo year=%year%
pause
Ich bekomme aber nur für den Tag (day) ein Ergebnis, nämlich 17, nicht aber für Monat (month) und Jahr (year).
Im cmd-Window wird dann die Meldung ausgegeben:
Ungültige Zahl. Numerische Konstanten sind entweder dezimale (17),
hexadezimale (0x11) oder oktale (021) Zahlen.
Ich versteht das nicht, warum diese Meldung kommt.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 213877
Url: https://administrator.de/contentid/213877
Ausgedruckt am: 25.11.2024 um 17:11 Uhr
11 Kommentare
Neuester Kommentar
Hallo,
das ist wegen der Oktalzahlenproblematik, "08" und "09" sind keine gültigen Oktalzahlen.
lg.
das ist wegen der Oktalzahlenproblematik, "08" und "09" sind keine gültigen Oktalzahlen.
@echo off &SETLOCAL
SET "Datum=09.08.2013"
for /f "tokens=1-3 delims=." %%i in ("%Datum%") do (
set /a day=1%%i%%10
set /a month=1%%j%%10
set /a year=%%k
)
echo day=%day%
echo month=%month%
echo year=%year%
Hallo joe65!
Immer noch Probleme damit, Code passend zu formatieren? Kann ich irgendwie dabei helfen?
Grüße
bastla
Immer noch Probleme damit, Code passend zu formatieren? Kann ich irgendwie dabei helfen?
Grüße
bastla
Zitat von @joe65:
ich bin in diesem Bereich (batch scripte) ein Anfänger. Was ist mit formatieren genau gemeint?
Mit formatieren meinen wir das du Tags verwendest um deinen Code zu posten, damit keine Sonderzeichen verloren gehen.ich bin in diesem Bereich (batch scripte) ein Anfänger. Was ist mit formatieren genau gemeint?
Sind die Einrückungen nicht in Ordnung oder ist sonst noch was zu beachten?
Kannst du mir evtl. meinen Code so anpassen, dass er richtig formatiert wäre, dann wird es mir vielleicht klarer.
@bastla und @Endoro ging es vorrangig darum ob du später mit dem Datum bzw. den Variablen rechnen musst, weil du erwähnt hast das es "Zahlen" sein sollen.Kannst du mir evtl. meinen Code so anpassen, dass er richtig formatiert wäre, dann wird es mir vielleicht klarer.
Wenn das nicht der Fall ist und du die Variablen so wie sie sind verwenden möchtest, reicht das hier völlig aus:
set day=%date:~0,2%
set month=%date:~3,2%
set year=%date:~6,4%
Grüße Uwe
Hallo joe65!
Grüße
bastla
Kannst du mir evtl. meinen Code so anpassen, dass er richtig formatiert wäre
Du brauchst doch nur vor den Code "<code>" und danach "</code>" zu schreiben (wie eigentlich den schon mehrfach verlinkten Formatierungs-FAQ zu entnehmen wäre) - das kannst (und sollst) Du auch nachträglich noch tun ...Grüße
bastla