Quiero escribir un AppleScript que crea proyectos en OmniFocus donde sus aplazar la fecha y la fecha de vencimiento se establece en cualquiera de las semanas de inicio y final del día.
El resultado debería parecerse a esto:
weeknumber: day1. month1. year1 - day2. month2. year2
Donde weeknumber
es reemplazado con una semana de' número de la semana. day1
, month1
y year1
tome weeknumber
s' número de la semana y analizarlo para que los días de su fecha. Así que para la semana número 09 en 2016 que sería 29. 02. 2016
. Los primeros fines de semana (day2
y así sucesivamente) final en 06. 02. 2016
. Por lo que el resultado para la primera semana de 2016 tendría este aspecto:
09: 29. 02. 2016 - 06. 02. 2016
A partir de la cáscara es posible obtener el último día de un mes así:
date -v 1d -v 3m -v 16y -v -1d +'%V: %d. %m. %Y'
09: 29. 02. 2016
En AppleScript puede convertir cualquier cadena, por ejemplo, de regresar de un script de shell (date
) en un objeto date con la sintaxis:
set lastDayShell to do shell script "date -v 1d -v 3m -v 16y -v -1d +'%V: %d. %m. %Y'"
set lastDay to date lastDayShell
El comando para agregar un nuevo proyecto para OmniFocus es este:
tell application "OmniFocus"
tell default document
set weekNumbers to folder "Week Numbers"
tell weekNumbers
set project1 to make new project with properties {name:"09: 29. 02. 2016", defer date:firstDay, due date:lastDay, singleton action holder:true}
end tell
end tell
end tel
Yo sé todo eso. Yo simplemente no puede encontrar un recurso que dice cómo obtener el primer y último día de la semana. Quiero establecer la aplazar la fecha de todas las semanas de empezar el primero de la semana, y la fecha de vencimiento para el último día.