Javascript 在具有矩的数组中格式化日期对象会产生意外结果
我从MongoDB数据库和Nodejs服务器基础api获取注释数据,并尝试使用矩来格式化日期,下面是注释数组的外观,下面是我在其他方面尝试实现的注释数组Javascript 在具有矩的数组中格式化日期对象会产生意外结果,javascript,typescript,ionic-framework,ionic3,momentjs,Javascript,Typescript,Ionic Framework,Ionic3,Momentjs,我从MongoDB数据库和Nodejs服务器基础api获取注释数据,并尝试使用矩来格式化日期,下面是注释数组的外观,下面是我在其他方面尝试实现的注释数组 notes = [{ date: "2020-02-27T19:35:52.000Z" text: "alguma coisa" _id: "1" date: "2020-02-27T20:20:27.000Z" text: "o que" _id: "2" date: "2020-02-27T20:21:00.000Z" text: "
notes = [{
date: "2020-02-27T19:35:52.000Z"
text: "alguma coisa"
_id: "1"
date: "2020-02-27T20:20:27.000Z"
text: "o que"
_id: "2"
date: "2020-02-27T20:21:00.000Z"
text: "o"
_id: "3"
}]
getFunction(){
this.api.get("/notes/", _id).subscribe(
data => {
let response = data as any;
let ret = JSON.parse(response._body);
this.notesData = ret;
let retNow = this.notesData.map(o => {
Object.keys(o).forEach(k => {
let d = moment(new Date(o[k]))
if (d.isValid()) o[k] = moment().format("dddd DD-MMM-YYYY HH:mm");
})
})
console.log("Note" retNow)
}, error => {
console.log("error", error);
}
);}
我的HTML
{{注.日期}
日期格式正确,但问题是,所有日期都相同,并且都是当前日期(今天的日期)
请问我做错了什么,你能试试这个吗
moment(YOUR_DATE).format(DATE_FORMAT);
moment('2020-02-27T20:21:00.000Z').format("DD-MMM-YYYY HH:mm");
结果:2020年2月28日01:51你能试试这个吗
moment(YOUR_DATE).format(DATE_FORMAT);
moment('2020-02-27T20:21:00.000Z').format("DD-MMM-YYYY HH:mm");
结果:2020年2月28日01:51我认为它应该是
d.format()
而不是moment().format()
,因为这只会用当前日期创建一个新的moment对象非常感谢,这是一个理想的工作,但日期的格式仍然不正确,它给出的回报是2020年2月11日,而不是2020年11月2日,你知道我能解决这个问题的方法吗?谢谢,我想不出为什么对日期对象进行不同的解析,从上面的示例来看,它似乎是ISO8601,不应该有任何问题,也许你可以,我认为它应该是d.format()
而不是moment().format())
因为这只会用当前日期创建一个新的力矩对象非常感谢,这是一个理想的工作,但日期的格式仍然不正确,它的返回值不是2020年2月11日,而是2020年11月2日,你知道我可以解决这个问题的方法吗?谢谢,我想不出为什么你的日期对象的解析方式不同,从上面的例子来看,它看起来是ISO8601,应该没有任何问题,也许你可以很棒,谢谢,这解决了我的问题,也帮助我以我想要的方式操作日期,看看你的例子帮助我做到这一点,如果(d.isValid())o[k]=力矩(d).格式(“dddd-MMM-YYYY HH:mm”);太棒了,谢谢你,这解决了我的问题,也帮助我按照我想要的方式来操作日期,看看你的例子,如果(d.isValid())o[k]=moment(d).format(“dddd-DD-MMM-YYYY HH:mm”);