• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), die Werbung betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung

[AppleScript] Wie wird ein Datum AppleScript angegeben?

Tom___Tom

Granny Smith
Mitglied seit
29.05.21
Beiträge
14
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

Juwel aus Kirchwerder
Mitglied seit
28.05.04
Beiträge
6.556
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

Königsapfel
Mitglied seit
22.10.08
Beiträge
1.213
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
Wertungen: Wuchtbrumme

Tom___Tom

Granny Smith
Mitglied seit
29.05.21
Beiträge
14
Vielen dank ihr habt mir echt weitergeholfen

LG Tom