Come faccio a salvare uno screenshot con il formato di data ISO 8601 con Applescript?

1

Sto costruendo uno script che salva molti screenshot consecutivi. Vorrei salvare i file nel formato data ISO 8601.

    
posta beatsforthemind 23.10.2013 - 18:34
fonte

2 risposte

2

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"

Fonte: AppleScript Date to Format ISO

    
risposta data 23.10.2013 - 20:08
fonte
0

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.

    
risposta data 23.10.2013 - 20:09
fonte

Leggi altre domande sui tag