En AppleScript, si tiene una cadena con una fecha e intenta convertirla en una clase de date
, se producirá un error en el Finder y en los eventos del sistema. Ejemplo:
set testDate to "Friday, September 21, 2018 at 6:54:29 PM"
set testResult to date testDate
return testResult
reproduce:
Alcolocarelcódigoanteriorenuneventodelsistema:
tellapplication"System Events"
set testDate to "Friday, September 21, 2018 at 6:54:29 PM"
set testResut to date testDate
return testResut
end tell
devuelve:
Los eventos del sistema obtuvieron un error: no se puede obtener la fecha "Viernes 21 de septiembre de 2018 a las 6:54:29 pm ".
Intentando colocar lo anterior en un buscador Finder:
tell application "Finder"
set testDate to "Friday, September 21, 2018 at 6:54:29 PM"
set testResut to date testDate
return testResut
end tell
El Finder obtuvo un error: no se puede obtener la fecha "Viernes 21 de septiembre de 2018 en 6:54:29 PM ".
¿Qué debo usar para poder convertir una cadena de fecha en una fecha real si ya estoy usando System Events o Finder? La única alternativa que he encontrado es crear un controlador:
tell application "System Events"
set testDate to "Friday, September 21, 2018 at 6:54:29 PM"
return my stringDate(testDate)
end tell
on stringDate(theString)
set attempt to date theString
return attempt
end stringDate
¿Cómo puedo realizar una conversión de date
en un evento del sistema o en el bloque de información de Finder?
Ha habido discusión en los comentarios con la respuesta suministrada, pero dadas las especificaciones del sistema de:
macOS High Sierra versión 10.13.6
y solución copiada:
tell application "System Events"
set testDate to "Friday, 21 September, 2018 at 6:54:29 PM"
set testResult to my (date testDate)
end tell
Abrió un nuevo editor de scripts:
Solucióndecódigopegado:
Solucióndecódigocompilado:
SolucióndecódigoRan:
El problema aún persiste.