Wolle-77 •--->
  
  
  Anmeldedatum: 25.02.2003 Beiträge: 449 Wohnort: Geldern
  | 
		
			
				 Verfasst am: 27.12.2003 - 16:07    Titel: Zeit- & Datum formatieren | 
				     | 
			 
			
				
  | 
			 
			
				Hallo Leute,
 
 
nach langer Zeit (zurück gekehrt um einiges Wissen reicher    ) melde ich mich mal wieder und möchte ein Snippet anbieten, welches auf jeden Fall unter Mac OS X, aber wahrscheinlich auch unter OS 9 läuft.
 
 
Ich habe es direkt in eine Routine hineingepackt, damit es leicht in die eigenen Skripte eingebunden werden kann.
 
Da diese Routine in einem aufwendigen Projekt von mir wiederum nur als Textlieferant herhält, ist sie für ein Einzelskript vielleicht nicht besonders optimal, aber trotzdem ist sie universell einsetzbar.
 
 
Ich habe gesehen, daß Snow bereits zwei Artikel dazu geschrieben hat, dieses hier ist als fertige Portion anzusehen, ohne Einzelschritterklärung.
 
 
Folgender Maßen wird sie angewendet (Beispiel):
 
 
set meinText to "Heute ist " & my zeitwandlung("wtag")
 
 
Ergebnis: "Heute ist Samstag" (nur heute   )
 
 
Folgende Befehle sind möglich: zeit-a (18:42:25 Uhr), zeit (18.41 Uhr), datum-din (2003-12-19), datum-l (20. Dezember 2003), datum-la (Samstag, 20. Dezember 2003), datum (20.12.2003), monat (Dezember) und wtag (Samstag)
 
 
on zeitwandlung(eingang)
 
	if eingang is "datum-din" then
 
		set MonatsListe to {"Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"}
 
		set tag to (date string) of (current date)
 
		set jahr to word 4 of tag
 
		set monat to word 3 of tag
 
		set tag to word 2 of tag
 
		if length of tag is 1 then set tag to "0" & tag
 
		repeat with i from 1 to 12
 
			if monat = item i of MonatsListe then
 
				if i < 10 then
 
					set monat to "0" & (i as text)
 
					exit repeat
 
				else
 
					set monat to (i as text)
 
					exit repeat
 
				end if
 
			end if
 
		end repeat
 
		set tag to jahr & "-" & monat & "-" & tag
 
		return tag
 
	else if eingang is "wtag" then
 
		set tag to (date string) of (current date)
 
		set tag to word 1 of tag
 
		return tag
 
	else if eingang is "datum-l" then
 
		set tag to (date string) of (current date)
 
		set tag to (words 2 thru -1 of tag) -- "Wochentag, " wird abgeschnitten
 
		set tag to ((item 1 of tag) & ". " & (item 2 of tag) & " " & (item 3) of tag) as text
 
		return tag
 
	else if eingang is "datum-la" then
 
		set tag to (date string) of (current date)
 
		return tag
 
	else if eingang is "monat" then
 
		set tag to (date string) of (current date)
 
		set monat to word 3 of tag
 
		return monat as text
 
	else if eingang is "datum" then
 
		set MonatsListe to {"Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"}
 
		set tag to (date string) of (current date)
 
		set jahr to word 4 of tag
 
		set monat to word 3 of tag
 
		set tag to word 2 of tag
 
		repeat with i from 1 to 12
 
			if monat = item i of MonatsListe then
 
				set monat to (i as text)
 
				exit repeat
 
			end if
 
		end repeat
 
		set tag to tag & "." & monat & "." & jahr
 
		return tag
 
	else if eingang is "zeit-a" then
 
		set zeit to (time string) of (current date)
 
		return zeit
 
	else if eingang is "zeit" then
 
		set zeit to (time string) of (current date)
 
		set my text item delimiters to ":"
 
		set zeit to (every text item) of zeit
 
		set stunde to item 1 of zeit
 
		set minute to item 2 of zeit
 
		set my text item delimiters to ""
 
		set zeit to stunde & "." & minute & " Uhr"
 
		return zeit
 
	end if
 
end zeitwandlung _________________ Martin Wolter
 
--
 
Apple rocks the planet! | 
			 
		  |