Quiero escribir un AppleScript que cree proyectos en OmniFocus donde la fecha de vencimiento y la fecha de vencimiento estén configuradas para el día de inicio y finalización de cualquier semana.
El resultado debería verse así:
weeknumber: day1. month1. year1 - day2. month2. year2
Donde weeknumber
se reemplaza con un número de semanas de la semana. day1
, month1
y year1
toman weeknumber
s 'número de semana y lo analizan a la fecha de esos días. Entonces, para la semana número 09 en 2016, sería 29. 02. 2016
. Los primeros fines de semana ( day2
, etc.) terminan en 06. 02. 2016
. Entonces, el resultado para la primera semana de 2016 se vería así:
09: 29. 02. 2016 - 06. 02. 2016
Desde el shell 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 puedes activar cualquier cadena, por ejemplo, devuelto desde un script de shell ( date
) a un objeto de fecha 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 a 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
Sé todo eso. Simplemente no puedo encontrar un recurso que diga cómo obtener el primer y último día de cualquier semana. Quiero establecer la fecha de vencimiento del inicio de cualquier semana hasta el primer día de la semana y la fecha de vencimiento hasta el último día.