我正在尝试将毫秒转换为我想要的日期格式。但是我给函数的格式似乎不起作用。
在我的 map 函数中
var date = new Date(item.showTime);
var dateString = date.toString('MM/dd/yy HH:mm:ss');
emit([doc.vehicleNumber,doc.advertId],{"seatNumber":item.seatNumber,"showTime":dateString ,"skipTime":item.skipTime});
});
结果是
{seatNumber: 2, showTime: "Tue Nov 21 2017 10:08:56 GMT+0000 (UTC)", skipTime: 0}
我需要以 10/12/2017 10:08:56 的格式显示时间。我不知道为什么这不起作用。
Btw this is not javascript, i think it is about couchdb so please do not mark this as duplicate with other JS questions.
最佳答案
CouchDB 支持在映射函数定义中使用 CommonJS 模块。 http://docs.couchdb.org/en/2.1.1/query-server/javascript.html#commonjs
问题是模块应该在设计文档中定义,不能从外部资源加载。
您可以在 map 函数中使用标准的 JavaScript 内置对象和函数,因为 couchjs 基于 Mozilla 的 SpiderMonkey JS 解释器。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
CouchDB JS 运行时不支持日期格式。为此,您应该编写自己的逻辑。
如果这对您来说是个大问题,您可以尝试破解/path/to/couchdb/share/server/main.js 文件,该文件设置函数的执行上下文,但我不这样做不太值得推荐。
关于javascript - 在 couchDB 映射函数中将毫秒格式化为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47793114/