Sto costruendo uno script che salva molti screenshot consecutivi. Vorrei salvare i file nel formato data ISO 8601.
Sto costruendo uno script che salva molti screenshot consecutivi. Vorrei salvare i file nel formato data ISO 8601.
Per ottenere la data nel formato ISO 8601, utilizzare:
on date_to_iso(dt)
set {year:y, month:m, day:d} to dt
set y to text 2 through -1 of ((y + 10000) as text)
set m to text 2 through -1 of ((m + 100) as text)
set d to text 2 through -1 of ((d + 100) as text)
return y & "-" & m & "-" & d
end date_to_iso
on date_time_to_iso(dt)
set {year:y, month:m, day:d, hours:h, minutes:min, seconds:s} to dt
set y to text 2 through -1 of ((y + 10000) as text)
set m to text 2 through -1 of ((m + 100) as text)
set d to text 2 through -1 of ((d + 100) as text)
set h to text 2 through -1 of ((h + 100) as text)
set min to text 2 through -1 of ((min + 100) as text)
set s to text 2 through -1 of ((s + 100) as text)
return y & "-" & m & "-" & d & "T" & h & ":" & min & ":" & s
end date_time_to_iso
Puoi chiamarli con, ad esempio:
set dt to current date
date_to_iso(dt)
fornisce qualcosa come "2013-10-23"
set dt to current date
date_time_to_iso(dt)
fornisce qualcosa come "2013-10-23T14: 00: 05"
Non esiste un singolo formato di data ISO 8601: ad esempio 20130823, 2013W43 e 2013-123 sono date ISO 8601 valide.
Se si intende il formato come 2013-10-23T21: 03: 34, i due punti non sono caratteri validi nei nomi di file in Finder o in altre applicazioni GUI. I due punti nella shell vengono visualizzati come barre nel Finder e viceversa.
Questo userebbe un formato come 20131023210334:
do shell script "screencapture ~/Desktop/$(date +%Y%y%m%d%H%M%S).png"
date -u +%FT%TZ
(dove -u imposta il fuso orario su UTC) utilizzerà un formato come 2013-10-23T18: 03: 34Z, ma i due punti verranno visualizzati come barre nelle applicazioni GUI.
Leggi altre domande sui tag applescript