我正在使用 eBay api 并尝试将 dateTime 格式的 endTime 字段转换为显示拍卖剩余时间的字段,例如 5 分钟或 5 小时或 5 天。
在 Node 中,我正在调用 eBay api 并使用 moment 函数将 endTime 字段映射到变量中。
看起来像这样:
var moment = require("moment");
moment().format();
const cardsData = newData.map(card => ({
timeLeft: moment(
card.listingInfo && card.listingInfo[0].endTime
).fromNow()
循环中的每个值都返回“一年前”。
这就是实际的 endTime 字段的样子
endTime: [
"2019-12-25T18:37:33.000Z"
],
我哪里出错了?在我可以使用 moment 之前,是否需要以某种方式格式化此日期?
最佳答案
事实证明,添加一个新的日期包装器可以使其正常工作。但我不太清楚为什么。如果有人有任何意见,将很高兴听到。谢谢
timeLeft: moment(
new Date(card.listingInfo && card.listingInfo[0].endTime)
).fromNow()
关于javascript - Moment JS fromNow 对 map 中的所有日期返回相同的值 'A Year Ago',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59043515/