【发布时间】:2016-12-18 08:46:32
【问题描述】:
我试图在特定时间范围内突出显示一行。 所以实际上假设它是 10:00:00 并且我需要标记该行,如果时间在开始和结束日期行之间。
桌子:
<table class="table table-striped" id="timeTable">
<thead>
<th>Title</th>
<th>Start</th>
<th>End</th>
<th>Channel</th>
</thead>
<tbody>
<tr>
<td>Title 1</td>
<td class="dateRowStart">2016-08-10 09:00:00+02</td>
<td class="dateRowEnd">2016-08-10 11:00:00+02</td>
<td>Channel 1</td>
</tr>
<tr>
<td>Title 2</td>
<td class="dateRowStart">2016-08-10 09:30:00+02</td>
<td class="dateRowEnd">2016-08-10 12:00:00+02</td>
<td>Channel 3</td>
</tr>
<tr>
<td>Title 4</td>
<td class="dateRowStart">2016-08-10 13:00:00+02</td>
<td class="dateRowEnd">2016-08-10 15:00:00+02</td>
<td>Channel 4</td>
</tr>
</tbody>
</table>
dateformat 是我的 postgresql 数据库的输出。如果我能以我们的本地时间格式(10.08.2016 - 14:15:12)显示它们会很棒,但这不是我的主要问题。
我的(只完成了一半)js代码要突出显示:
<script>
$('#timeTable .dateRowStart').each(function () {
var dtTd = new Date($(this).html());
var dtNew = new Date();
if (dtNew.getTime() < dtTd.getTime()) {
$(this).parent('tr').addClass('highlight');
}
});
</script>
我不知道如何包含dateRowEnd 来检查日期是否仍在开始/结束时间之间。如果我使用两个相同的时间/日期和日期格式,例如。 “08/10/2016 10:05:00”,我只标记了一行。这是另一件烦人的事情。
谢谢!
【问题讨论】:
-
您只是对时间感兴趣,还是对提供的特定日期的时间感兴趣?
-
嗯,我不明白你的问题 :) 我需要突出显示该行,当 Starttime 是 = current Time
-
我的意思是您的示例中的日期不同。今天是 8 月 11 日,你的日期是 10 日。
-
我仍然不确定您要达到的目标,但希望这会有所帮助。请注意,我修改了在本地时区工作的最后日期:jsfiddle.net/zbz14uuo
-
@bingobear 在这种情况下,我的小提琴示例对你有用
标签: javascript jquery