Получить последний день месяца в AppleScript и праздники в текущем месяце

excel applescript

444 просмотра

2 ответа

Я пишу AppleScript, который генерирует электронную таблицу MS Excel каждый месяц. Мне нужно знать, сколько дней в текущем месяце, затем пройти все месяцы и решить, является ли данный день рабочим или праздничным днем.

Полагаю, я бы сохранил для этого праздничные дни (с этой страницы http://kalendar365.cz/statni-svatky/2016 в виде таблицы и доступ к ним локально).

Мой вопрос:

  1. Как мне получить последний день в месяце?
  2. Как эффективно выполнить цикл по всем дням в текущем месяце и определить, является ли это воскресенье, суббота или день, указанный где-то еще (например, в текстовом файле электронной таблицы xlsx)?
Автор: Michael Tesař Источник Размещён: 08.11.2019 11:31

Ответы (2)


0 плюса

Решение

Ответ Пбелла многообещающий, но эта GetLastDayфункция не работает правильно в течение месяцев, у которых менее 31 дня; вот функция, которая исправляет это:

Подход основан на установке даты на 1-е число месяца, затем увеличении месяца (возможно, переносе на следующий год) и вычитании 1 дня, что правильно работает со всеми датами, даже в високосные годы.

Автор: mklement0 Размещён: 25.10.2016 04:56

-1 плюса

Сценарий ниже содержит 2 процедуры, которые вы ищете: GetlastDay и isWorkingDay:

set myDate to current date -- just for example !

set N to GetlastDay(myDate)
log N --> number of days in month of myDate
set A to IsWorkingday(myDate)
log A --> true if Monday to Friday, false if Saturday/Sunday


on GetlastDay(LDate) -- return last day of month of LDate
copy LDate to L -- to not change LDate
set L's day to 32 -- = first day of next month
set L to L - (1 * days) -- last day of month
return day of L
end GetlastDay

on IsWorkingday(LDate) -- true if date is not Saturday or Sunday
set SD to weekday of LDate
return (SD is not in {Saturday, Sunday})
end IsWorkingday
Автор: pbell Размещён: 21.08.2016 07:29
Вопросы из категории :
32x32