我通过javascript突出显示的当前日期显示不正确
My highlighted current date via javascript is not showing correctly
在堆栈溢出的帮助下,我成功地完成了从2015年5月到10月底的日历循环。现在我想强调一下目前的日期是6月28日星期日。但由于某种原因,它突出显示了错误的日期,我不认为这是因为代码,但我不能100%确定。
签出此链接以直观地查看(http://gyazo.com/30e448d0f84c8f1c55e4dd1ce6d91f38)
jsfiddle链接:https://jsfiddle.net/GY22/vqfk8yLL/
这是我的html代码:
<ul id="timeline">
<li></li>
</ul>
这是我的javascript代码:
<script>
// Get today's current date.
var now = new Date();
console.log(now);
// Calculates the number of the week
var weekNumber = ((now.getDate()<10) ? "0" : "")+ now.getDate();
console.log("The current week number is: " + weekNumber);
// Array list of months.
var month = new Array(12);
month[0] = "January";
month[1] = "February";
month[2] = "March";
month[3] = "April";
month[4] = "May";
month[5] = "June";
month[6] = "July";
month[7] = "August";
month[8] = "September";
month[9] = "October";
month[10] = "November";
month[11] = "December";
//console.log(month[3]);
var weekDay = new Array(7);
weekDay[0]= "Su";
weekDay[1] = "Mo";
weekDay[2] = "Tu";
weekDay[3] = "We";
weekDay[4] = "Th";
weekDay[5] = "Fr";
weekDay[6] = "Sa";
function formatDate(date) {
var month = date.getUTCMonth() +1;
var dayNumber = date.getUTCDate();
var year = date.getUTCFullYear();
var day = date.getUTCDay();
return weekDay[day] + ": " + dayNumber + "-" + month + "-" + year + "; ";
//return weekDay[day] + " " + dayNumber + "; ";
}
//console.log(formatDate(new Date()));
var today
function addListItem(){
var createListItem = document.createElement("li");
var outputListItem = document.createTextNode(today);
createListItem.appendChild(outputListItem);
var createUl = document.getElementsByTagName("ul");
createUl[0].appendChild(createListItem);
}
// loop starting from may up untill for months from the set date
for (var i = 0; i < 122; i++){
today = formatDate(new Date(2015, 05, i));
//document.write(today + "<br />");
addListItem();
}
document.getElementById('timeline').
getElementsByTagName('li')[(new Date()).getDate() - 1].className += ' currentDate';
将最后一行更改为:
getElementsByTagName('li')[(new Date()).getDate() - 1].className += ' currentDate';
收件人:
getElementsByTagName('li')[(new Date()).getDate() + 1].className += ' currentDate';
日期似乎只提前了一天,所以应该可以修复它。
考虑改用MomentJS。这将为您节省许多代码和日期问题:
http://momentjs.com/
如果您希望保留代码,请将当前日期逻辑移动到addListItem()方法中。
if(today == formatDate(new Date())) {
createListItem.className += ' currentDate';
}
相关文章:
- JavasScript|显示当前日期
- 创建程序以显示当前日期和时间
- 显示当前日期两次
- 如何在 HTML 中使用占位符在文本框中显示当前日期
- 在文本框中显示当前日期 - JavaScript
- 在文本框中显示当前日期前 270 天
- jQuery Datepicker 显示当前日期
- 用momentjs显示当前日期
- 每次单击按钮时显示当前日期
- 如何通过在检查器中操作Javascript来抓取表?页面仅显示当前日期's的数据,但我想回到过去,重新收集
- 用Javascript显示当前日期
- 在hta应用程序中使用HTML和Javascript显示当前日期和时间,并具有可滚动的效果
- 如何使用完整日历显示当前日期
- javascript函数显示当前日期和时间点击清除
- 在画布上显示当前日期和时间使用JS
- 如何使用jquery显示当前日期和时间AM PM和CST
- 自定义日历,显示当前日期的下一个六个月日历
- Jquery UI日历-如何突出显示当前日期之后的天数
- Angularjs - 显示当前日期
- 在日期选择器中显示当前日期