[AppleScript] Wie wird ein Datum AppleScript angegeben?

Tom___Tom

Idared
Registriert
29.05.21
Beiträge
26
Hallo,

Ich habe mich heute mal wieder mit AS befasst - Das heist nichts gutes.

Wie wird ein Datum in AS angegeben und wie "formatiere" ich es (z.B. 21.06.08)?
Wie die Uhrzeit?
Und wie das aktuelle Datum?

Mit freundlichen Grüßen
Tom
 

Marcel Bresink

Hadelner Sommerprinz
Registriert
28.05.04
Beiträge
8.540
Computer speichern absolute Zeitangaben in der Regel als Anzahl Sekunden relativ zu einem Referenzdatum in Weltzeit. Uhrzeit, Datum und Zeitzone sind deshalb fest miteinander verbunden. Man kann sie aber getrennt abrufen, je nach dem, was man gerade braucht.

AppleScript verwendet für Zeit/Datum keine festen Formate, sondern orientiert sich an Kalendersystem, Sprache und Formatierungseinstellungen, die der Benutzer gerade gewählt hat. Um benutzerunabhängig Zeit/Datum anzugeben, muss man deshalb den Trick verwenden, erst ein Datumsobjekt zu erzeugen und diesem dann getrennte Werte für die Zeit-/Datumseigenschaften zuzuweisen. Beispiel:

Code:
set beispiel to current date
set day of beispiel to 21
set month of beispiel to 6
set year of beispiel to 2008
set hours of beispiel to 14
set minutes of beispiel to 30
set seconds of beispiel to 46
set formatiert to beispiel as string

Wenn Du das als deutschsprachiger Benutzer mit Gregorianischem Kalender ausführst, erhältst Du Samstag, 21. Juni 2008 um 14:30:46.
Wenn Du das als englischsprachiger Benutzer mit hebräischem Kalender ausführst, erhältst Du z.B. Saturday, 18 Sivan 5768 at 2:30:46 PM.

Nur Zeit und Datum könnte man wie folgt abrufen:

Code:
set nurdatum to short date string of beispiel
set nurzeit to time string of beispiel
 

sedna

Galloway Pepping
Registriert
22.10.08
Beiträge
1.358
Hallo,

AppleScript verwendet für Zeit/Datum keine festen Formate, sondern orientiert sich an Kalendersystem, Sprache und Formatierungseinstellungen, die der Benutzer gerade gewählt hat. Um benutzerunabhängig Zeit/Datum anzugeben, muss man deshalb den Trick verwenden, erst ein Datumsobjekt zu erzeugen und diesem dann getrennte Werte für die Zeit-/Datumseigenschaften zuzuweisen

Das ist zwar vollkommen richtig, allerdings hat man selbst mit reinem AppleScript die Möglichkeit, auch eine benutzerunabhängige Datumsangabe in der weltweiten gültigen ISO Norm zu erhalten:
Code:
(current date) as «class isot» as string

Hier würde sich eine andere Möglichkeit anbieten, den String zu "formatieren":
Code:
tell (current date) as «class isot» as string
get text 1 thru 10 & "  " & text 12 thru 19
set _tISO to the result
end tell

Und es sei nur angemerkt, dass man mit AppleScript auch Shell-Skripte ausführen kann, was die Datums-Formatierung erheblich vereinfachen würde.

Gruß
 
  • Like
Reaktionen: Wuchtbrumme