1 votos

Reglas de las declaraciones condicionales de AppleScript

Necesito que un script se ejecute entre las 9 de la noche y las 6 de la mañana y me cuesta entender por qué no funciona. He probado con y sin paréntesis.

A partir de las sugerencias de aquí, eliminé "como cadena", pero luego obtuve un error cuando intenté ejecutar la aplicación.

Descubrí que el error provenía de otra línea del código que no había incluido en el ejemplo.

set myTimeB to (round ((time of date ((current date) as string)) / 60) rounding down) mod 5 = 0 --every 5 minutes

¿Alguna idea de por qué esto necesita "como cadena" para funcionar?

set myTime to time of (current date) --as string

if (myTime > 21600) and (myTime < 75600) then
    display notification "it's between 6am and 9pm"
else
    display notification "it's between 9pm and 6am"
end if

1voto

user3439894 Puntos 5883

Actualización para abordar el alcance totalmente cambiado de la pregunta original:

La cuestión que veo es que of date y as string en ((time of date ((current date) as string)) / 60) no pertenecen a ese lugar. Debería ser simplemente:

set myTimeB to (round ((time of (current date)) / 60) rounding down) mod 5 = 0 --every 5 minutes`
  • (time of (current date) devuelve un entero , por lo que está todo preparado para ser dividido por 60 . No hay necesidad de estar coaccionando a un cadena .
  • of date no tiene sentido en la ecuación.

Respuesta original:

A mí me funciona lo siguiente:

set myTime to time of (current date)

if (myTime > 21600) and (myTime < 75600) then
    display notification "it's between 6am and 9pm"
else
    display notification "it's between 9pm and 6am"
end if

Tenga en cuenta que originalmente, myTime fue un cadena y lo comparabas con un entero . Ahora se compara con el mismo clase .

Si ejecuta lo siguiente en Script Editor :

return class of time of (current date) & class of 21600

Vuelve: {integer, integer}

Mientras que el resultado de:

set myTime to time of (current date) as string
return (class of myTime) & class of 21600

Vuelve: {text, integer}

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X