Datumsberechnung

N

nobillings

Aktives Mitglied
Thread Starter
Dabei seit
20.01.2007
Beiträge
105
Reaktionspunkte
0
Hallo,

ich bin noch Anfaenger in der WElt des Applescript und habe ein Problem beim Einlesen von Daten und dem anschliessenden Berechnen aus einer Textdatei. Die Datei ist Tab-separiert und hat pro Zeile einen Datensatz, aus dem ich ein iCal-Event erstellen moechte.
Ich habe verschiedene Formen des Datums:
1. So, 18.03.2007
2. 08.03.2007.

Das erste Datum kann ich mit folgenden Code lesen und als property fuer das make new event nutzen:
Code:
	set theDatum to item 1 of item i of theBigList
	set theStartDatum to date (text 5 thru 15 of theDatum)
Das funktioniert.

Das zweite Format brauche ich fuer eine Berechnung. Ich will einen Alarm 6 Stunden vor dem Datum setzen. Die Variable sollte dann als property trigger date fuer make new sound alarm genutzt werden.
Code:
set deltaT to 6 * hours
set theMeldeschluss to date (theMeldeschluss - deltaT)
Ich bekomme immer folgende Fehlermeldung:
"08.03.2007" kann nicht in Typ number umgewandelt werden.
Habe schon ohne date versucht aber es klappt nicht, was mich wundert, da ich das erste Datum doch auch verwenden kann.
Kann mir jemand weiterhelfen? Danke.

Gruss
nobillings
 
Hallo,

verwende den Typ "date".
Dabei sind zum Beispiel eingaben möglich:

Code:
set meinDatum to date "18.03.2007"

oder

Code:
set meinDatum to date "So, 18.03.2007"

Als Ergebnis erhälst Du dann immer der Wert

Code:
date "Sonntag, 18. März 2007 0:00:00 Uhr"

Viel Erfolg!
 
Kein Erfolg

Ich schrieb ja schon, dass ich date benutzt habe.
Egal ob ich das Datum aus der Textdatei als Variable nehme oder ob ich das Datum selber setzte mit set jetzt bekomme ich den Fehler, dass "08.03.2007" nicht in Typ reference ungewandelt werden kann.

Gruss
nobillings
 
Sauber sollte man das über day, month und year machen (versch. Sprachversionen/Datumsformate!!!)!

copy (current date) to theDate
set day of theDate to 18
set month ...
set year ...

Hier ein Link zu einem KalenderScript - der Inhalt dürfte dem Datumsbastler mehr als genug beschäftigen ...

http:/www.alle-brandts.de/dl/KalenderScriptX.zip
 
Ich schrieb ja schon, dass ich date benutzt habe.
Egal ob ich das Datum aus der Textdatei als Variable nehme oder ob ich das Datum selber setzte mit set jetzt bekomme ich den Fehler, dass "08.03.2007" nicht in Typ reference ungewandelt werden kann.
Kann ich hier (OS 10.4.7 + ScriptEditor 2.1.1 build 81) nicht nachvollziehen:
set x to (6 * hours) --> 21600
-- set d to date "01.04.2007" wird bereits während der Eingabe "LIVE" und vollautomatisch in AppleScript Datumsformat umgewandelt:
set d to date "Domenica, 1 aprile 2007 0:00:00"
--> date "Domenica, 1 aprile 2007 0:00:00"
set e to (d - x)
--> date "Sabato, 31 marzo 2007 18:00:00"
Ciao
Farid
 
Kann ich hier (OS 10.4.7 + ScriptEditor 2.1.1 build 81) nicht nachvollziehen:
Ciao
Farid

Wenn ich das Beispiel nehme, bekomme ich einen Syntaxfehler:
Datum und Uhrzeit sind ungültig: Domenica, 1 aprile 2007 0:00:00.
Habe Domenica mit Sonntag und aprile mit April ersetzt. Dann geht es. Das Datum ist eine Konstante.

Aber: Wenn ich dann meine Eingangsvariable nehme, dann bekomme ich den beruechtigten Fehler wieder.

Ah jetzt ja, habe die Loesung. Ich muss meine Variable erst in date ueberfuehren bevor ich irgendwas anderes damit mache.

Vielen Dank. :clap:

Gruss
nobillings
 
Zurück
Oben Unten