Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在具有矩的数组中格式化日期对象会产生意外结果_Javascript_Typescript_Ionic Framework_Ionic3_Momentjs - Fatal编程技术网

Javascript 在具有矩的数组中格式化日期对象会产生意外结果

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: "

我从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: "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”);