Datum errechnen anhand Tagnummer und Jahr

  • Ich bitte um Hilfe! Wie kann mann mit der Nummer des Tages, also der 12. Januar = 12, der 18. Februar = 49 (31+achtzehn), der 25. März = 85 (31+29+25, also im Schaltjahr) usw. und das Jahr der Datum errechnen? Ich programmiere einen Funktion wobei ich Tagnummer und Jahreszahl angebe und das Datum als xx.xx.xxxx zurück erhalte aber es gelingt bis jetzt nicht obwohl ich viel herumprobiere... ;(

    Programmieren ist ein bisschen Wissenschaft und viel Spass! :)

  • beschreibt dein problem doch noch etwas genauer was willst du machen ich hab es nicht ganz verstanden?

    das akuelle datum erhältst du mit makros die autoit schon bereitstellt

    Edit: achso du willst einfach eine zahl eingeben z.b 110 und wissen was das für ein datum des jeweiligen jahres war bzw. ist ??

    Das finden von Rechtschreibfehlern muss sofort und unverzüglich dem Autor gemeldet werden. Das eigennützige Verwenden dieser Rechtschreibfehler ist strengstens untersagt und kann mit Freiheitsenzug bestraft werden.

  • probier mal so:

    [autoit]

    #include <Date.au3>

    [/autoit][autoit][/autoit][autoit]

    Dim $Y, $M, $D, $Date, $dateadd = 4

    [/autoit][autoit][/autoit][autoit]

    $Date = _DayValueToDate(_DateToDayValue(@YEAR, 1, 1) -1 + $dateadd, $Y, $M, $D)

    [/autoit][autoit][/autoit][autoit]

    MsgBox(4096, "", "Datum: " & $D & "." & $M & "." & $Y)

    [/autoit]

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Edit: achso du willst einfach eine zahl eingeben z.b 110 und wissen was das für ein datum des jeweiligen jahres war bzw. ist ??

    Genau! Die angegebene Zahl sind die Anzahl der Tage die von dem Jahr schon vorbei sind (entschuldige mein Deutsch...). Also diese Zahl muss zwischen 1 und 366 liegen.

    Programmieren ist ein bisschen Wissenschaft und viel Spass! :)

  • noch etwas erweitert...

    [autoit]

    #include <Date.au3>
    Dim $Y, $M, $D, $Date

    [/autoit][autoit][/autoit][autoit]

    Dim $dateadd = 4; Tag des Jahres
    Dim $dateyear = 2010; Jahr

    [/autoit][autoit][/autoit][autoit]

    _DayValueToDate(_DateToDayValue($dateyear, 1, 1) -1 + $dateadd, $Y, $M, $D)
    MsgBox(4096, "", "Datum: " & $D & "." & $M & "." & $Y)

    [/autoit]

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • noch etwas erweitert...

    [autoit]

    #include <Date.au3>
    Dim $Y, $M, $D, $Date

    [/autoit] [autoit][/autoit] [autoit]

    Dim $dateadd = 4; Tag des Jahres
    Dim $dateyear = 2010; Jahr

    [/autoit] [autoit][/autoit] [autoit]

    _DayValueToDate(_DateToDayValue($dateyear, 1, 1) -1 + $dateadd, $Y, $M, $D)
    MsgBox(4096, "", "Datum: " & $D & "." & $M & "." & $Y)

    [/autoit]


    man da war ich wieder zu langsam :D aber ich hatte fast das gleiche

    Das finden von Rechtschreibfehlern muss sofort und unverzüglich dem Autor gemeldet werden. Das eigennützige Verwenden dieser Rechtschreibfehler ist strengstens untersagt und kann mit Freiheitsenzug bestraft werden.

  • oder als Funktion:

    [autoit]

    #include <Date.au3>
    MsgBox(4096, "", _DatefromDayofYear(47,2009))

    [/autoit][autoit][/autoit][autoit]

    Func _DatefromDayofYear($dayadd,$Year) ; benötigt Date.au3 !!!
    Local $Y, $M, $D
    _DayValueToDate(_DateToDayValue($Year, 1, 1) -1 + $dayadd, $Y, $M, $D)
    Return($D & "." & $M & "." & $Y)
    EndFunc

    [/autoit]

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Vielen Dank !! Ihr habt mir sehr geholfen. Es gilt wie immer: "hätte selbst drauf kommen können..." ;)

    Programmieren ist ein bisschen Wissenschaft und viel Spass! :)