Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.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
Arrays 如何将数据数组转换为另一种格式?_Arrays_Angular_Typescript - Fatal编程技术网

Arrays 如何将数据数组转换为另一种格式?

Arrays 如何将数据数组转换为另一种格式?,arrays,angular,typescript,Arrays,Angular,Typescript,我有一个const reserved:Date[]如下所示: 0: Thu Oct 01 2020 02:00:00 GMT+0200 (Ora legale dell’Europa centrale) {} 1: Sat Oct 10 2020 02:00:00 GMT+0200 (Ora legale dell’Europa centrale) {} 2: Fri Oct 30 2020 01:00:00 GMT+0100 (Ora standard dell’Europa centrale

我有一个
const reserved:Date[]
如下所示:

0: Thu Oct 01 2020 02:00:00 GMT+0200 (Ora legale dell’Europa centrale) {}
1: Sat Oct 10 2020 02:00:00 GMT+0200 (Ora legale dell’Europa centrale) {}
2: Fri Oct 30 2020 01:00:00 GMT+0100 (Ora standard dell’Europa centrale) {}
3: Sat Oct 31 2020 01:00:00 GMT+0100 (Ora standard dell’Europa centrale) {}
4: Fri Oct 02 2020 02:00:00 GMT+0200 (Ora legale dell’Europa centrale) {}

0: 2020/10/01
1: 2020/10/10
2: 2020/10/30
3: 2020/10/31
4: 2020/10/02
但我想让这个数组像这样呈现给我:

0: Thu Oct 01 2020 02:00:00 GMT+0200 (Ora legale dell’Europa centrale) {}
1: Sat Oct 10 2020 02:00:00 GMT+0200 (Ora legale dell’Europa centrale) {}
2: Fri Oct 30 2020 01:00:00 GMT+0100 (Ora standard dell’Europa centrale) {}
3: Sat Oct 31 2020 01:00:00 GMT+0100 (Ora standard dell’Europa centrale) {}
4: Fri Oct 02 2020 02:00:00 GMT+0200 (Ora legale dell’Europa centrale) {}

0: 2020/10/01
1: 2020/10/10
2: 2020/10/30
3: 2020/10/31
4: 2020/10/02
我尝试通过以下方式转换日期:

     for (const element of reservedArray) {
        this.shareDate.newdate = this.shareDate.pipe.transform(element, 'yyyy/MM/dd');
        this.shareDate.arraydateRes.push(new Date(this.shareDate.newdate));
        console.log(this.shareDate.arraydateRes);
    }
    }
console.log的结果如下:

(10) [Thu Oct 01 2020 00:00:00 GMT+0200 (Ora legale dell’Europa centrale), Sat Oct 10 2020 00:00:00
 GMT+0200 (Ora legale dell’Europa centrale), Fri Oct 30 2020 00:00:00 GMT+0100 (Ora standard dell’Europa
 centrale), Sat Oct 31 2020 00:00:00 GMT+0100 (Ora standard dell’Europa centrale), Fri Oct 02 2020 
00:00:00 GMT+0200 (Ora legale dell’Europa centrale), Sat Oct 03 2020 00:00:00 GMT+0200 (Ora legale 
dell’Europa centrale), Sun Oct 04 2020 00:00:00 GMT+0200 (Ora legale dell’Europa centrale), Mon Oct 05 
2020 00:00:00 GMT+0200 (Ora legale dell’Europa centrale), Tue Oct 06 2020 00:00:00 GMT+0200 (Ora legale
 dell’Europa centrale), Wed Oct 07 2020 00:00:00 GMT+0200 (Ora legale dell’Europa centrale)]

我在网上搜索,但不是很精通角度,但我还没有找到一个合适的解决方案! 我不明白为什么我会得到这样的结果! 你有什么建议吗?
非常感谢:)

您必须使用
moment
库:

1:通过以下命令安装:
npm i jalali moment

2:导入:
import*作为“jalali时刻”的时刻

3:并在共享服务中创建一个函数:

transformDate(date: any, format = 'YYYY/MM/DD'): string {
    const MomentDate = moment(date, format);
    return MomentDate.locale('en').format(format);
}
4:最后,您必须使用此函数并将数据传递给该函数。

试试看

import { formatDate } from '@angular/common';

reservedDate: Date[];
reservedString: string[];

reservedString = reservedDate.map(d => formatDate(d, 'yyyy/MM/dd', 'en'));

不要将moment.js用于新项目,它已被弃用。还有其他更好的图书馆