Я пытаюсь рассчитать число понедельников, сред и пятниц между 2 датами в Tasker, поэтому мне нужна математическая формула, возможно, используя дату в секундах, то есть время unix, или код javascript. Я пробовал Googling и ломал свой мозг любым способом, чтобы даже начать это, и я потерялся, поэтому я еще ничего не пробовал. Единственное, о чем я мог думать, это получить общее количество дней и делить на 7, но это явно не очень помогает мне, особенно если один или оба дня - в середине недели. Может ли кто-нибудь указать мне в лучшем направлении?Подсчитайте количество конкретных рабочих дней с даты
ответ
Как count specific days of the week between two dates in O(1):
// days is an array of weekdays: 0 is Sunday, ..., 6 is Saturday
function countCertainDays(days, d0, d1) {
var ndays = 1 + Math.round((d1-d0)/(24*3600*1000));
var sum = function(a,b) {
return a + Math.floor((ndays + (d0.getDay()+6-b) % 7)/7); };
return days.reduce(sum,0);
}
Пример на подсчете по понедельникам, средам и пятницам [1,3,5]
между двумя датами:
countCertainDays([1,3,5],new Date(2014,8,1),new Date(2014,8,1)) // 1
countCertainDays([1,3,5],new Date(2014,8,1),new Date(2014,8,2)) // 1
countCertainDays([1,3,5],new Date(2014,8,1),new Date(2014,8,3)) // 2
countCertainDays([1,3,5],new Date(2014,8,1),new Date(2014,8,4)) // 2
countCertainDays([1,3,5],new Date(2014,8,1),new Date(2014,8,5)) // 3
countCertainDays([1,3,5],new Date(2014,8,1),new Date(2014,8,6)) // 3
countCertainDays([1,3,5],new Date(2014,8,1),new Date(2014,8,7)) // 3
Обратите внимание, что параметр месяц Date
- 0, поэтому 1 сентября 2014 года - Date(2014,8,1)
.
Предположите общее количество дней n
. Тогда число любого дня недели изначально n/7
. Теперь возьмите n = n % 7
. В зависимости от значения тока n
вы можете легко рассчитать окончательное количество дней.
В качестве примера:
Предположим, ваш первый день Friday
и общее количество дней 100
. Итак, n = 100
. Есть минимальный 100/7
или 14
каждого буднего дня находится в интервале. 100 % 7 = 2
. Таким образом, окончательный подсчет есть,
Friday -> 14+1 = 15
Saturday -> 14+1 = 15
Sunday -> 14
Monday -> 14
Tuesday -> 14
Wednesday -> 14
Thursday -> 14
@HeatherLeigh, если я мог бы предоставить вам точную вещь, которую вы ожидали, я думаю, принимая ответ не повредит вам много, это будет ? – taufique
Мне нужно автоматизировать (отсюда и использование Tasker), чтобы он мог принимать 2 даты и выводить количество понедельников, сред и пятниц между ними. – HeatherLeigh
Как подсчитать количество пятнице между двумя даты в JavaScript
function myfunction() {
var frist = document.getElementById("dt_VacStart").value
var answer = 0;
var second = document.getElementById("dt_VacEnd").value;
if (frist != null && second != null) {
var startDate = new Date(frist);
var endDate = new Date(second);
var totalfriday = 0;
for (var i = startDate; i <= endDate;) {
if (i.getDay() ==5) {
totalfriday++;
}
i.setTime(i.getTime() + 1000 * 60 * 60 * 24);
}
document.getElementById('<%=Friday.ClientID%>').value = totalfriday;
} else {
totalfriday = 0;
document.getElementById('<%=Friday.ClientID%>').value = totalfriday;
}
}
- 1. . NET Date Compare: подсчитайте количество рабочих дней с даты?
- 2. Подсчитайте количество конкретных дней месяца, прошедшего с указанной даты
- 3. Подсчитайте количество рабочих дней между двумя датами?
- 4. если количество заявлений количество рабочих дней с даты и отметьте даты, которые старше 10 рабочих дней
- 5. Количество рабочих дней в Excel
- 6. Добавить X количество Рабочих дней до даты
- 7. Подсчитайте количество рабочих дней в промежутке между двумя днями
- 8. Как вычесть количество рабочих дней с даты в excel
- 9. Count X Количество рабочих дней с даты ввода
- 10. Подсчитайте количество дней с Twitter XML
- 11. Подсчитайте количество конкретных будней между двумя датами
- 12. Подсчитайте количество дней, игнорируя время
- 13. C#: Добавление рабочих дней с даты цетаина
- 14. Добавить x количество рабочих дней до даты в настраиваемом столбце
- 15. Подсчитайте количество отдельных дней в отформатированном столбце
- 16. вычислить количество рабочих дней на форме рельсов
- 17. Подсчитайте количество дней в нескольких диапазонах
- 18. Подсчитайте количество сеансов за последние X дней
- 19. Python; количество дней с даты
- 20. Расчет даты вокруг рабочих дней/часов?
- 21. Количество конкретных месяцев/дней недели между двумя датами
- 22. Подсчитайте количество конкретных значений в dataframe pandas
- 23. Отключение дат и конкретных рабочих дней в jquery datepicker
- 24. Подсчитайте количество дней, зарегистрированных в месяц
- 25. рабочих дней между двумя даты FIREBIRD
- 26. Подсчитайте n дней, пропустив указанные даты
- 27. PHP - Получить даты следующих 5 рабочих дней?
- 28. получить количество рабочих дней в конкретном месяце
- 29. Количество рабочих дней между двумя датами
- 30. Количество рабочих дней, оставшихся в этом месяце
Это очень полезно. Есть ли какая-либо формула, которую я могу дать также массив дат, который будет исключать или не засчитываться между двумя датами? – Poonam
@Poonam В этом случае просто сверните по массиву дат и подсчитайте те, которые находятся между двумя датами. Если ваша ситуация более сложная, пожалуйста, отправьте ее как отдельный вопрос. – Matt