【发布时间】:2016-05-03 02:58:50
【问题描述】:
我从一个看起来像这样的 json 字符串开始:["2016-05-28", "2016-05-29", "2016-05-30", "2016-05-31"]
我正在尝试将其转换为 Saturday 5/28 Sunday 5/29。
我查看了这些答案并尝试实施相同的方法: Why does Date.parse give incorrect results? 和 Convert date in string to date object for inserting in database.
但是我得到了错误的日期输出。 星期六时,5/28 显示为 Tuesday, 5/28。
JSFiddle:https://jsfiddle.net/pum40hyx/
这是我将日期转换为所需字符串的代码:
function convertToNiceDate(inputDate)
{
var days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
var splitString = inputDate.split("-");
currentDate = new Date(splitString[0], splitString[1], splitString[2]);
var day = currentDate.getDate();
var month = currentDate.getMonth();
//this is the problematic line!
var dayOfWeek = days[currentDate.getDay()];
var dateString = dayOfWeek + ", " + month + "/" + day;
return dateString;
}
【问题讨论】:
-
正如@timolawl 提到的,您必须将日期更改为
["2016-04-28", "2016-04-29", "2016-04-30", "2016-04-31"]。 -
@starky——你误读了 timolawl 的回答。月份数在解析中更改,而不是在输入中。
-
@RobG 是的,当然,你是对的。
标签: javascript json date