Tag von einem Datum herausfinden

  • hi die funktion die du suchst heißt _DateDayOfWeek
    Als Parameter benutzt diese Funktion allerdings den Wochentag 1 (Sonntag) -7 (Samstag)
    Um den Wochentag von einem Datum herauszubekommen benutze die Funktion _DateToDayOfWeek
    Beide UDFs sind in der Date.au3 enthalten

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • [autoit]

    #Include <Date.au3>
    $isoDay=_DateToDayOfWeekISO(@YEAR, @MON, @MDAY)
    MsgBox(0, "", _DateDayOfWeek($isoDay))

    [/autoit]

    edit: zu spät *argh*
    edit2: @Gianni, was soll denn der link in allen deinen posts??!?!?!?

  • ok aber dafür wusste ich das mit der ISO noch net... obwohls in der Hilfe noch drunter steht *kopf-->tisch* Danköööö :D

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • da bin ich wieder..

    also es geht darum ne udf zu machen, da ich diese funktionen mehrmals gebrauche..
    weiss jetzt nur nicht wie ich mir von der funktion zwei werte zurückgeben lassen kann..

    also mit einem return, bekomm ich jetzt den tag zurückgeliefert ($dateDay).
    wie kann ich mir von der funktion gleichzeitig auch das Datum zurückgeben lassen ($dateToDay)

    [autoit]


    #include <Date.au3>

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

    $datum = "2009/05/11"
    $firstDay = _getLastDayMonth($datum)
    MsgBox(0,"", $firstDay)

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

    Func _getFirstDayMonth ($date)
    Local $MyDate, $MyTime, $RDate
    _DateTimeSplit($date, $MyDate, $MyTime)
    $calc = _DateAdd('D', - $MyDate[3] + 1, $date)
    _DateTimeSplit($calc, $RDate, $MyTime)
    $dateToDay = _DateToDayOfWeek($RDate[1], $RDate[2], $RDate[3])
    $dateDay = _DateDayOfWeek($dateToDay)
    Return $dateDay
    EndFunc

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

    Func _getLastDayMonth ($date)
    Local $MyDate, $MyTime, $RDate
    _DateTimeSplit($date, $MyDate, $MyTime)
    $calc = _DateAdd('M', 1, $date)
    $calc2 = _DateAdd("D", - $MyDate[3], $calc)
    _DateTimeSplit($calc, $RDate, $MyTime)
    $dateToDay = _DateToDayOfWeek($RDate[1], $RDate[2], $RDate[3])
    $dateDay = _DateDayOfWeek($dateToDay)
    Return $dateDay
    EndFunc

    [/autoit]

    grüsse

  • Ja, ich liebe diese "benutzerdefinierte Funktionen Referenz", die so schön in der Hilfe sind. Nur man darf sie auch finden, denn davon gibt es sehr sehr viele.
    Vielleicht mal die Hilfe so umstellen, das die neuen darüber bildlich stolpern?

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Meinst Du diesen Tag?

    Spoiler anzeigen
    [autoit]


    #include <Date.au3>
    ; ISO Wochentagnummer des gegebenen Datums 0=Montag - 6=Sonntag
    $iWeekday = _DateToDayOfWeekISO(@YEAR, @MON, @MDAY)
    ; Nicht gleich wie @Wday
    MsgBox(4096, "", "Heute ist die ISO Wochentagsnummer: " & $iWeekday)

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

    #comments-start
    Montag = 0
    Dienstag = 1
    Mittwoch = 2
    Donnerstag = 3
    Freitag = 4
    Samstag = 5
    Sonntag = 6
    #comments-end

    [/autoit]

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Mal ne ganz dumme Idee

    [autoit]


    #include <Date.au3>

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

    $weekday = _DateToDayOfWeekISO(@YEAR, @MON, @MDAY)
    If $weekday = "0" Then
    $tagmitname = "Montag"
    ElseIf $weekday = "1" Then
    $tagmitname = "Dienstag"
    ElseIf $weekday = "2" Then
    $tagmitname = "Mittwoch"
    ElseIf $weekday = "3" Then
    $tagmitname = "Donnerstag"
    ElseIf $weekday = "4" Then
    $tagmitname = "Freitag"
    ElseIf $weekday = "5" Then
    $tagmitname = "Samstag"
    ElseIf $weekday = "6" Then
    $tagmitname = "Sonntag"
    EndIf

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

    MsgBox(0, "Test", "Es ist " & $tagmitname & " der " & @MDAY & "." & @MON & "." & @YEAR)

    [/autoit]

    Sollte gehen oder?

    Edit:
    Geht.

    2 Mal editiert, zuletzt von Sen (13. Mai 2009 um 14:08)

  • ich muss mich nicht richtig ausgedrückt haben..
    ich möchte mit der variabel --> array zwei werte aufrufen (tag, datum)

    z.B. sollte $firstDay[1] der tag sein und $fistDay[2] das datum sein..

    die funktionen funktionieren ja schon, aber ich kann ja mit dem return nur einen wert zurückgeben.
    wie kann ich zwei werte zurückgeben..??

    • Offizieller Beitrag

    Na dann steck die Werte doch in ein Array:

    [autoit]

    $date = _GetDate(2009, 5, 13)
    ConsoleWrite('Datum: ' & $date[0] & @CRLF & 'Wochentag: ' & $date[1] & @CRLF)

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

    #include-once
    #include <Date.au3>
    Func _GetDate($Year,$Mon,$Day)
    Local $aRet[2] = [$Day & "." & $Mon & "." & $Year]
    Switch _DateToDayOfWeekISO(@YEAR, @MON, @MDAY)
    Case 0
    $aRet[1] = "Montag"
    Case 1
    $aRet[1] = "Dienstag"
    Case 2
    $aRet[1] = "Mittwoch"
    Case 3
    $aRet[1] = "Donnerstag"
    Case 4
    $aRet[1] = "Freitag"
    Case 5
    $aRet[1] = "Samstag"
    Case 6
    $aRet[1] = "Sonntag"
    EndSwitch
    Return $aRet
    EndFunc

    [/autoit]
    • Offizieller Beitrag

    Hi,

    ich habe dir das jetzt mal für die erste Funktion umgebaut.

    Spoiler anzeigen
    [autoit]

    #include <Date.au3>
    #include <Array.au3>

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

    $datum = "2009/07/11"
    $firstDay = _getLastDayMonth($datum)
    MsgBox(0, "", $firstDay)
    $firstDay = _getFirstDayMonth($datum)
    _ArrayDisplay($firstDay)

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

    Func _getFirstDayMonth($date)
    Local $MyDate, $MyTime, $RDate
    _DateTimeSplit($date, $MyDate, $MyTime)
    _DateTimeSplit(_DateAdd('D', -$MyDate[3] + 1, $date), $RDate, $MyTime)
    Local $re[2] = [_DateDayOfWeek(_DateToDayOfWeek($RDate[1], $RDate[2], $RDate[3])), _DateDaysInMonth($MyDate[1], $MyDate[2])]
    Return $re
    EndFunc ;==>_getFirstDayMonth

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

    Func _getLastDayMonth($date)
    Local $MyDate, $MyTime, $RDate
    _DateTimeSplit($date, $MyDate, $MyTime)
    $calc = _DateAdd('M', 1, $date)
    $calc2 = _DateAdd("D", -$MyDate[3], $calc)
    _DateTimeSplit($calc, $RDate, $MyTime)
    $dateToDay = _DateToDayOfWeek($RDate[1], $RDate[2], $RDate[3])
    $dateDay = _DateDayOfWeek($dateToDay)
    Return $dateDay
    EndFunc ;==>_getLastDayMonth

    [/autoit]

    Mega