Hallo,
ist es möglich das Datum aus der GUICtrlCreateDate auf Deutsch und gleichzeitig auf Englisch in eine Datei zu schreiben?
Hallo,
ist es möglich das Datum aus der GUICtrlCreateDate auf Deutsch und gleichzeitig auf Englisch in eine Datei zu schreiben?
Wenn du es ausliest bekommst du das Ergebnis (je nach eingestelltem Format Short/Long) im Datumslayout des PC.
Ein deutscher PC spuckt im Longformat dann aus: Freitag, 10. April 2015 und im Shortformat 10.04.2015.
Das kannst du doch, wenn du es in eine Datei schreiben willst, einfach umwandeln. Ein paar Stringoperationen, bischen Array und fertig ist der Lack.
Edit:
Wichtig wäre noch welches Englisch du wünscht: EN-englisch oder US-englisch (oder Programmierenglisch?)
Denn das Datum wird beim Programmieren im Format YYYY/MM/DD angegeben - dieses Format ist aber weder in GB noch in US üblich.
Im britischen Englisch steht 5/10/15 für den 5. Oktober 2015, im amerikanischen Englisch für den 10. Mai 2015. Auch das Langformat ist unterschiedlich:
Britisches Englisch: 5(th) (of) October(,) 2015
Amerikanisches Englisch: October (the) 5(th), 2015
Nichts ist verwirrender als Datumsangaben auf englisch, wenn man nicht weiß ob der Autor aus USA oder GB stammt.
@Kanashius
Wie macht man das mit:
$TimeDay = GUICtrlCreateDate("", 205, 75, 200, 20)
[/autoit]?
@BugFix
Ich nutze das Longformat und möchte diesen auch so beibehalten, zusätzlich noch als ENG (für alle Nicht-Deutschsprechenden).
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