gpt4 book ai didi

Javascript - 可变的前一个工作日

转载 作者:数据小太阳 更新时间:2023-10-29 06:05:29 26 4
gpt4 key购买 nike

我正在尝试创建一个下拉列表,它将自动在文本字段中输入日期。

“LBD”选项当前返回昨天的日期,但是,我希望它返回最后一个工作日的日期。因此,如果今天是星期一,它将返回星期五的日期,如果今天是星期二,它将返回星期一的日期。依此类推。

这是我目前所得到的:

Javascript:

<script>
$(document).ready(function() {
$("#datetype option").filter(function() {
return $(this).val() == $("#datepickstart").val();
return $(this).val() == $("#datepickend").val();
}).attr('selected', true);
var d = new Date();
var yesterday = (d.getMonth() + 1) + "/" + (d.getDate() - 1) + "/" + d.getFullYear();
var today = (d.getMonth() + 1) + "/" + d.getDate() + "/" + d.getFullYear();
var fdm = (d.getMonth() + 1) + '/01/' + d.getFullYear();
var fdy = '01/01/' + new Date().getFullYear();
$("#datetype").on("change", function() {
var selectedVal = $(this).find("option:selected").attr("value");
if (selectedVal == 'LBD') {
$("#datepickstart").val((yesterday));
$("#datepickend").val((yesterday));
}
if (selectedVal == 'MtD') {
$("#datepickstart").val(fdm);
$("#datepickend").val(today);
}
if (selectedVal == 'YtD') {
$("#datepickstart").val(fdy);
$("#datepickend").val(today);
}
});
})
</script>

html:

<select id="datetype" name="datetype"> 
<option value="">Please select...</option>
<option value="LBD">LBD</option>
<option value="MtD">MtD</option>
<option value="YtD">YtD</option>
</select>

<input type="text" id="datepickstart" name="datepickstart" value="">
<input type="text" id="datepickend" name="datepickend" value="">

最佳答案

getDay() 函数是解决问题的关键。我使用 @zzzzBov 片段作为迭代器。下面是我的解决方案

step1:
function isBusinessDay(date){
var day = date.getDay();
if(day == 0 || day == 6 ){
return false;
}
return true;
}


step2:
var date = new Date();
while (!isBusinessDay(date)) { date.setDate(date.getDate() - 1) }

console.log(date);//date always between monday to friday

希望这能解决您的问题。编码愉快!!

关于Javascript - 可变的前一个工作日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38055569/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com