AutoIt
GUICreate('')
$d = GUICtrlCreateDate('2015/04/26', 10, 20)
GUISetState()
While 1
Switch GUIGetMsg()
Case -3
Exit
Case $d
ConsoleWrite(GUICtrlRead($d) & @CRLF)
ConsoleWrite(_ConvertToENDate(GUICtrlRead($d)) & @CRLF)
EndSwitch
WEnd
Func _ConvertToENDate($sDateGE, $fUS=0)
If StringLen($sDateGE) = 10 Then ; short
If $fUS Then ; MM/DD/YYYY
Return StringRegExpReplace($sDateGE, '(\d{2})\.(\d{2})\.(\d{4})', '$2/$1/$3')
Else ; DD/MM/YYYY
Return StringReplace($sDateGE, '.', '/')
EndIf
Else
Local $aWDay[7][2] = [['Montag','Monday'],['Dienstag','Tuesday'],['Mittwoch','Wednesday'],['Donnerstag','Thursday'],['Freitag','Friday'],['Samstag','Saturday'],['Sonntag','Sunday']]
Local $aMonth[12][2] = [['Januar','January'],['Februar','February'],['März','March'],['April','April'],['Mai','May'],['Juni','June'],['Juli','July'], _
['August','August'],['September','September'],['Oktober','October'],['November','November'],['Dezember','December']]
Local $aDate = StringRegExp($sDateGE, '(\w+),\s(\d{2})\.\s([\wä]+)\s(\d{4})', 3)
Local $sWDay, $sMonth
For $i = 0 To 6
If $aWDay[$i][0] = $aDate[0] Then
$sWDay = $aWDay[$i][1]
ExitLoop
EndIf
Next
For $i = 0 To 11
If $aMonth[$i][0] = $aDate[2] Then
$sMonth = $aMonth[$i][1]
ExitLoop
EndIf
Next
If $fUS Then
Return StringFormat('%s, %s %i, %i', $sWDay, $sMonth, $aDate[1], $aDate[3])
Else
Return StringFormat('%s, %i %s %i', $sWDay, $aDate[1], $sMonth, $aDate[3])
EndIf
EndIf
EndFunc
Alles anzeigen