Javascript 日期范围
我想显示/隐藏基于星期几的表行。我目前的代码基于24小时时间段而不是日历日显示/隐藏:Javascript 日期范围,javascript,jquery,momentjs,Javascript,Jquery,Momentjs,我想显示/隐藏基于星期几的表行。我目前的代码基于24小时时间段而不是日历日显示/隐藏: <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.1/moment.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.1/moment.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button type="button" id="button1">Monday</button>
<button type="button" id="button2">Tuesday</button>
<table id="myTable">
<thead>
<tr>
<th>Table</th>
</tr>
</thead>
<tbody>
<tr>
<td class="dates">13/02/2017 12:45 pm</td>
</tr>
<tr>
<td class="dates">14/02/2017 12:45 pm</td>
</tr>
</tbody>
$('#button1').click(function(){
var $dates = $('.dates');
var m = moment().add(1, 'd');
$dates.each(function() {
var date = moment($(this).text(), 'DD/MM/YYYY hh:mm a');
if (date.isBetween(moment(), m)) {
$(this).parent().show();
} else {
$(this).parent().hide();
}
});
});
星期一
星期二
桌子
2017年2月13日下午12:45
2017年2月14日下午12:45
$('#按钮1')。单击(函数(){
变量$dates=$('.dates');
var m=力矩()。加上(1,'d');
$dates.each(函数(){
变量日期=时刻($(this).text(),'DD/MM/YYYY hh:MM a');
if(date.isBetween(moment(),m)){
$(this.parent().show();
}否则{
$(this.parent().hide();
}
});
});
作为矩中的“dddd”。format()表示一周中的日期名称,您可以轻松地将其与按钮标签进行比较
通过向所有按钮添加公共类,将单击处理程序附加到这些按钮。jQuery允许选择与选择条件匹配的所有元素
进入处理程序后,获取单击按钮的标签,并将其与解析的日期进行比较,以决定显示/隐藏每个日期。
$('.day btns')。单击(函数(){
var btnText=$(this.text();
$('.dates')。每个(函数(){
变量日期=时刻($(this).text(),'DD/MM/YYYY hh:MM a');
if(date.format('dddd')==btnText){
$(this.parent().show();
}否则{
$(this.parent().hide();
}
});
});代码>
星期一
星期二
桌子
2017年2月13日下午12:45
2017年2月14日下午12:45
使用该方法获取基于周日的数字,周日为0,周一为1,等等
根据区域设置获取或设置星期几
例如:
moment().weekday(); // code ran on a sunday
// 0
moment(new Date(1, 12, 2005)).weekday();
// 5
注意,从文档中可以看出,该方法是本地感知的
如果区域设置指定星期一为一周的第一天,则矩()。工作日(0)将为星期一。如果星期日是一周的第一天,则矩()。工作日(0)将是星期日
谢谢,我不知道这个解决方案。