第一次使用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'生成。
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
数组的当前元素。