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
Tag von einem Datum herausfinden
-
- [ gelöst ]
-
FireFlyer -
13. Mai 2009 um 09:52 -
Geschlossen -
Erledigt
-
-
[autoit]
#Include <Date.au3>
[/autoit]
$isoDay=_DateToDayOfWeekISO(@YEAR, @MON, @MDAY)
MsgBox(0, "", _DateDayOfWeek($isoDay))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öööö
-
hab es jetzt so erledigt:
[autoit]
[/autoit][autoit][/autoit][autoit]
#include <Date.au3>Dim $MDate, $MTime
[/autoit][autoit][/autoit][autoit]_DateTimeSplit("2009/05/01", $MDate, $MTime)
[/autoit]
$isoDay = _DateToDayOfWeek($MDate[1], $MDate[2], $MDate[3])
MsgBox(0, "", _DateDayOfWeek($isoDay))danke für die Hilfe
Click Ctrl-C to copy. (hides when lost focus)
Click Ctrl-C to copy. (hides when lost focus) -
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).
[autoit]
wie kann ich mir von der funktion gleichzeitig auch das Datum zurückgeben lassen ($dateToDay)
[/autoit][autoit][/autoit][autoit]
#include <Date.au3>$datum = "2009/05/11"
[/autoit][autoit][/autoit][autoit]
$firstDay = _getLastDayMonth($datum)
MsgBox(0,"", $firstDay)Func _getFirstDayMonth ($date)
[/autoit][autoit][/autoit][autoit]
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
EndFuncFunc _getLastDayMonth ($date)
[/autoit]
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
EndFuncgrü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? -
alina, ich glaub bei mir bist du mit diesem satz falsch..
hab schon viel programmiert und brauche die hilfe wirklich viel (auch das forum)aber sehe es diesmal wirklich nicht ein, also wenn du mir helfen kann, wäre ich froh..
-
- Offizieller Beitrag
Hi,
wie einfach bei deinem Bsp. 20090501 bzw. 20090531 ???
Mega
-
ja genau
bekomm ja jetzt nur den tag zurück geliefert..möchte gleichzeitig auch das datum haben.
-
Was zum Teufel sucht der Link
"Click Ctrl-C to copy. (hides when lost focus)"Da dauernd?
-
Meinst Du diesen Tag?
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [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)#comments-start
[/autoit]
Montag = 0
Dienstag = 1
Mittwoch = 2
Donnerstag = 3
Freitag = 4
Samstag = 5
Sonntag = 6
#comments-end -
- Offizieller Beitrag
Hi,
[autoit]$iDays = _DateDaysInMonth( @YEAR,@MON )
[/autoit]Mega
Rückgabe per Array oder String oder wie du willst.
-
Mal ne ganz dumme Idee
[autoit]
[/autoit][autoit][/autoit][autoit]
#include <Date.au3>$weekday = _DateToDayOfWeekISO(@YEAR, @MON, @MDAY)
[/autoit][autoit][/autoit][autoit]
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"
EndIfMsgBox(0, "Test", "Es ist " & $tagmitname & " der " & @MDAY & "." & @MON & "." & @YEAR)
[/autoit]Sollte gehen oder?
Edit:
Geht. -
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)
[/autoit][autoit][/autoit][autoit]
ConsoleWrite('Datum: ' & $date[0] & @CRLF & 'Wochentag: ' & $date[1] & @CRLF)#include-once
[/autoit]
#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 -
- Offizieller Beitrag
Hi,
ich habe dir das jetzt mal für die erste Funktion umgebaut.
Spoiler anzeigen
[autoit]#include <Date.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <Array.au3>$datum = "2009/07/11"
[/autoit] [autoit][/autoit] [autoit]
$firstDay = _getLastDayMonth($datum)
MsgBox(0, "", $firstDay)
$firstDay = _getFirstDayMonth($datum)
_ArrayDisplay($firstDay)Func _getFirstDayMonth($date)
[/autoit] [autoit][/autoit] [autoit]
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 ;==>_getFirstDayMonthFunc _getLastDayMonth($date)
[/autoit]
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 ;==>_getLastDayMonthMega