【发布时间】:2018-09-29 09:54:08
【问题描述】:
我有一个 for 循环,我想显示这个循环的每个结果的日期。我现在可以这样做,但它显示如下:
2018-04-19 12:00:00
我希望它显示如下:
19-04-2018
我能够定位子字符串并以这种方式获得我想要的布局:
forecastDayEl= sessionStorage.getItem("forecastDay");
var objDay = JSON.parse(forecastDayEl);
objDay.forEach(function(entry) {
var time = entry.substring(11, 13);
var days = entry.substring(8, 10);
var month = entry.substring(5, 7);
var year = entry.substring(0, 4);
});
但我不确定如何将其添加到现有的 for 循环中:
var forecastLength;
var forecastText;
var g;
forecastLength = objTemp.length;
forecastText = "<div class='forecastList'>";
for (g = 0; g < forecastLength; g++) {
forecastText += "<ul>" + "<li class='forecastDay'>" + objDay[g] + "</li>" + "<li class='forecastTemp'>" + objTemp[g] + "</li>" + "<li class='forecastIcon'>" + "<img id='icon'" + "src='/weather/icons/" + objIcon[g] + ".png'" + "alt='Weather icon'>" + "</li>" + "</ul>";
}
forecastText += "</div>";
//outputs result as list
document.getElementById("forecastList").innerHTML = forecastText;
forecastDayEl 正在输出:
["2018-04-19 12:00:00","2018-04-20 12:00:00","2018-04-21 12:00:00","2018-04-22 12:00:00","2018-04-23 12:00:00"]
objDay 正在输出:
(5) ["2018-04-19 12:00:00", "2018-04-20 12:00:00", "2018-04-21 12:00:00", "2018-04-22 12:00:00", "2018-04-23 12:00:00"]
0
:
"2018-04-19 12:00:00"
1
:
"2018-04-20 12:00:00"
2
:
"2018-04-21 12:00:00"
3
:
"2018-04-22 12:00:00"
4
:
"2018-04-23 12:00:00"
var days 正在输出:
19
20
21
22
23
如果我可以这样做,最好避免这种麻烦:
objDay[g].toDateString();
但这不起作用:
objDay[g].toDateString 不是函数
【问题讨论】:
-
我认为这与 jQuery 无关。
-
已经有很多关于重新格式化日期字符串的问题。最简单的方法是拆分为值,然后根据需要进行格式化。不要解析为日期然后从那里格式化。
标签: javascript jquery arrays date