¿Cómo guardo una captura de pantalla con el formato de fecha ISO 8601 con Applescript?

1

Estoy creando un script que guarda muchas capturas de pantalla consecutivas. Me gustaría guardar los archivos en el formato de fecha ISO 8601.

    
pregunta beatsforthemind 23.10.2013 - 18:34

2 respuestas

2

Para obtener la fecha en formato ISO 8601, use:

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

Puede llamar a estos con, por ejemplo:

set dt to current date
date_to_iso(dt)

da algo así como "2013-10-23"

set dt to current date
date_time_to_iso(dt)

da algo como "2013-10-23T14: 00: 05"

Fuente: AppleScript Fecha a formato ISO

    
respondido por el M K 23.10.2013 - 20:08
0

No hay un único formato de fecha ISO 8601: por ejemplo, 20130823, 2013W43 y 2013-123 son fechas válidas ISO 8601.

Si te refieres al formato como 2013-10-23T21: 03: 34, los dos puntos no son caracteres válidos en los nombres de archivo en el Finder u otras aplicaciones GUI. Los dos puntos en el shell se muestran como barras en Finder y viceversa.

Esto usaría un formato como 20131023210334:

do shell script "screencapture ~/Desktop/$(date +%Y%y%m%d%H%M%S).png"

date -u +%FT%TZ (donde -u establece la zona horaria en UTC) usaría un formato como el 2013-10-23T18: 03: 34Z, pero los dos puntos se mostrarían como barras diagonales en las aplicaciones GUI.

    
respondido por el user495470 23.10.2013 - 20:09

Lea otras preguntas en las etiquetas