- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试编写一个代码,计算总天数,不包括周末和自定义假期。我搜索了 stackoverflow 和 adobe 论坛以找到解决方案并提供了以下代码。如果公众假期正好在工作日(周六至周三),则不计入计算。我的问题是,如果公共(public)假期在周末(周四至周五),则两者(假期和周末)都会扣除。假设休假持续时间为 18/09/2018-22/09/2018,总计数 2 天显示代替 3。同样对于 17/10/2018-21/10/2018,总计数 1 天显示代替3天。解决问题的任何帮助或任何想法都会很棒!问候
//Thursday and Friday will be excluded as weekend.
var start = this.getField("From").value;
// get the start date value
var end = this.getField("To").value;
var end = util.scand("dd/mm/yyyy H:MM:SS", end + " 0:00:00");
var start =util.scand("dd/mm/yyyy H:MM:SS", start + " 0:00:00");
event.value = dateDifference(start, end);
function dateDifference(start, end) {
// Copy date objects so don't modify originals
var s = new Date(+start);
var e = new Date(+end);
// Set time to midday to avoid daylight saving and browser quirks
s.setHours(12,0,0,0);
e.setHours(12,0,0,0);
// Get the difference in whole days
var totalDays = Math.round((e - s) / 8.64e7);
// Get the difference in whole weeks
var wholeWeeks = totalDays / 7 | 0;
// Estimate business days as number of whole weeks * 5
var days = wholeWeeks * 5;
// If not even number of weeks, calc remaining weekend days
if (totalDays % 7) {
s.setDate(s.getDate() + wholeWeeks * 7);
while (s < e) {
s.setDate(s.getDate() + 1);
// If day isn't a Thursday or Friday, add to business days
if (s.getDay() != 4 && s.getDay() != 5) {
++days;
}
}
}
var hdayar = ["2018/02/21","2018/03/17","2018/03/26","2018/04/14","2018/05/01","2018/08/15","2018/09/2 1","2018/10/18","2018/10/19","2018/12/16","2018/12/25"];
//test for public holidays
var phdays = 0;
for (var i = 0; i <hdayar.length; i++){
if ((Date.parse(hdayar[i]) >= Date.parse(start)) && (Date.parse(hdayar[i]) <= Date.parse(end))) {phdays ++;}}
return days-phdays + 1;
}
最佳答案
您应该为此使用一个库,而不是重新发明轮子。
但是如果你想自己做,你可以使用 .getDay
来检查公共(public)假期是否在周末。
var weekend = [4, 5], // for Thursday, Friday
holDate, holDay;
for (var i = 0; i < hdayar.length; i++){
holDate = Date.parse(hdayar[i]);
holDay = new Date(holDate).getDay()
if (weekend.indexOf(holDay) == -1 && holDate >= Date.parse(start) && holDate <= Date.parse(end)) {
phdays ++;
}
}
phdays
现在将包含范围内非周末公共(public)假期的数量。
关于javascript - 在 JavaScript 中计算不包括周末和假期的天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49958318/
有人可以帮我解决这个问题吗?当填写周五、周六或周日时,需要返回"is",而在所有其他情况下,则需要返回“否”。每次它都以“JA”结尾...... 代码: // Nieuwe Array aan
我知道,标题并不具体,但我对 DatePicker 有疑问。我尝试禁用国庆节、周末和今天之后的 48 小时。目前我这样做了: 隐藏今天 + 48 小时,我使用 minDate: 3 隐藏周末 隐藏国庆
我必须计算以下两个日期之间的周末计数和假期计数。 var startDate = new Date("01/02/2014"); var endDate = new Date("02/
我正在尝试编写一个脚本来实现以下目的: 我需要根据一天中的时间和星期几将我页面上某个元素的颜色从绿色更改为红色。因此,例如,在星期六我需要一个不同于星期一的时间窗口。 我正在努力寻找有用的东西。我找到
给定 postgres 中的 2 个时间戳,你如何在不计算整个星期六和星期日的情况下计算时差? 或 如何计算给定时间间隔内的周六和周日的数量? 最佳答案 以下函数返回两个日期之间的完整周末天数。由于您
我无法在没有周末的情况下呈现日期时间图表。怎么做到的? 这是示例代码 ( http://jsfiddle.net/LLExL/1720/ ): $('#container').highcharts({
ax.plot_date((dates, dates), (highs, lows), '-') 我目前正在使用此命令通过 Matplotlib 绘制财务高点和低点.效果很好,但如何删除 x 轴上因没
从今天早上开始,我无法使用原始 HTTP 协议(protocol)在用户对象上设置 orgUnitPath。 PATCH /admin/directory/v1/users/testuser_1440
我有这些 Dag DAG_A(每天运行)、DAG_B(周一至周五运行)和 DAG_C(周六和周日运行),其中 DAG_A 依赖于 DAG_B 和 DAG_C。我尝试使用 External Task S
我正在使用 JQuery UI Datepicker Disbale Next Day After 12pm 中的代码禁用周末、公共(public)假期和第二天(如果在上午 10 点之后选择),但我不
我是一名优秀的程序员,十分优秀!