如何显示/隐藏范围,具体取决于本地时间是否等于“开始日期”和“结束日期”Jquery之间
How to show/hide a span depending on whether the local time is equal to between a “startdate” and “enddate” Jquery
我有一个由多行组成的表。我最后有一个删除链接,单击将删除该行。但是,如果我的本地时间在开始日期和结束日期之间,我必须显示维护时段消息:例如:当地时间:2月2日星期二,中午12:27 开始日期:2 月 2 日星期二上午 11:11 和结束日期:周三:2 月 3 日上午 11:11上述本地时间介于开始日期和结束日期之间。因此,当我删除该行时,我首先检查已删除的行在本地时间之间是否有"开始日期"和"结束日期",如果是这样,请显示消息。
以下是表格的 HTML:
<table id="show-list">
<thead>
<tr>
<th>Id</th>
<th>Subject</th>
<th>Start Date</th>
<th>End Date</th>
</tr>
</thead>
<tbody>
<tr>
<td>12</td>
<td>abc</td>
<td>
<time datetime="Tue Feb2 2016, 11:27AM">Tue Feb2, 12:27PM</time>
</td>
<td>
<time datetime="Wed Feb3 2016, 11:27AM">Wed Feb3, 11:27AM</time>
</td>
<td><a href="#">Delete Row</a></td>
<tr>
<tr>
<td>123</td>
<td>hru</td>
<td>
<time datetime="Tue Feb23 2016, 11:27AM">Tue Feb23, 12:27PM</time>
</td>
<td>
<time datetime="Wed Feb24 2016, 11:27AM">Wed Feb24, 11:27AM</time>
</td>
<td><a href="#" class="deleterow">Delete Row</a></td>
<tr>
</tbody>
</table>
<div id="div" style="display:none;"></div>
.js:
$('.deleterow').on('click', function(e) {
var $this = $(this);
$.ajax({
url: "/url/delete",
}).done(function(result) {
var now = Date.now();
$this.parent().find("time").each(function(arg,log){
//not sure how to check for the start and end dates here to see if its between the current time.
});
});
非常感谢帮助!!谢谢
这是一个简单的示例,但您需要定义日期格式:
var now = Date.now(),
start = $this.parent().parent().find('time')[0].getAttribute('datetime'),
end = $this.parent().parent().find('time')[1].getAttribute('datetime');
start = new Date(start.replace('AM', ' AM'));
end = new Date(end.replace('AM', ' AM'));
if ((start.getTime() <= now.getTime() && now.getTime() <= end.getTime() )){
alert("date contained");
}
首先,你需要你的日期采用一种可以被JavaScript Date.parse()函数解释的格式。例如:
var earliest = Date.parse('2016-03-04T11:24')
这将返回自 1970 年 1 月 1 日以来的毫秒数。在本例中,该数字为 1457090640000。Date.now() 也产生了许多此类。
现在您可以比较这两个数字:
if (earliest < now) {
// do something...
}
对"最晚"日期执行相同的操作,即可设置好。
但请记住:如果您在浏览器中运行代码,Date.now() 会生成用户浏览器认为是今天的任何日期。如果需要本地时间,可能需要使用一些服务器端代码。例如,您可以为在服务器上呈现 HTML 时受影响的每一行定义一个 JavaScript 变量或数据属性。
相关文章:
- 如何在javascript中获取两个日期之间的周六和周日的日期
- 如何用moment.js列出两个日期之间的所有月份
- moment.js在两个时区格式的日期之间存在差异
- 用时间戳获取两个不同日期之间的时间差
- JavaScript函数,用于计算两个日期之间的年、月和天数
- 再次使用JavaScript计算两个日期之间的天数
- 在Javascript中计算两个日期之间的工作日,节假日除外
- 在Jquery或Javascript中获取两个范围或日期之间的通信周数
- 如何使用moment.js获取24小时内日期之间的时差
- 两个日期之间的差异
- JavaScript-计算两个日期之间的天数(包括结束日期)
- 夏令时期间不起作用的 2 个日期之间的小时差异
- v8::值到日期之间的转换
- 在ExtJS中获取开始/结束日期之间的日期
- 如何计算日期之间的差异
- 两个日期之间的月份差异,计算月份的最后日期
- JavaScript:获取MySQL时间戳和当前日期之间的天数差
- 从表列中检索日期,并根据从今天到日期之间的天数使行的颜色发生变化
- 获取两个日期之间的天数
- 计算日期之间的天数