首次使用javascript和Momentjs库。我的输出出现问题,因为它没有打印所需的内容。我需要以“天,日期月年”的格式输出日期(例如,2018年5月14日,星期二)。我需要使用循环来遍历空数组dates
,然后在其自己的行上输出每个日期的格式化版本,并需要在createServer
函数中执行此操作。
我正在使用代码沙箱,并且对为什么它不起作用感到非常困惑。
我看过moment.js和其他论坛,但没有一个能回答我的问题。
var http = require("http");
var moment = require("moment");
moment().format();
function getDates(start, end, dates) {
var start = moment.isDate(new Date("1st Jan 2019"));
var end = moment.isDate(new Date("31st December 2019"));
var dates = [];
var current = start.clone();
if (current !== moment.isoWeekday(1)) {
current = moment().add(1, "w");
}
while (current.isBefore(end)) {
current.clone.push(dates);
current = moment.add(2, "w");
}
return dates;
}
http
.createServer(function(req, res) {
res.writeHead(200, { "Content-Type": "text/plain" });
res.write("day,date", "\n");
var dates = function getDates() {};
for (var i = 0; i < dates.length; i++) {
moment.res.write.format("dddd, Do MMMM YYYY", "\n");
}
res.end();
})
.listen(8080);
发生的事情是,它仅在输出屏幕上显示day, date
。而且我需要格式化的日期,我试图从该函数中定义的空数组变量“ dates”中产生日期。
答案 0 :(得分:0)
var dates = function getDates() {};
不调用getDates()
函数。它使dates
成为一个不执行任何操作的新函数的名称,类似于编写
function dates() {
}
将其更改为:
var dates = getDates();
另一个错误的行是:
moment.res.write.format("dddd, Do MMMM YYYY", "\n");
应该是:
res.write(moment.format("dddd, Do MMMM YYYYY", dates[i]), "\n");
您不能将res.write
和moment.format
组合成一个函数调用。然后,您需要格式化dates
数组的当前元素。