How to sort dates from the most recent to the oldest?

Discussão em 'Angular' iniciado por MarinaLaGrande, Novembro 25, 2024.

  1. I'm stuck and unable to sort dates from the most recent to the oldest. Can someone please help me display them correctly?

    This is what I'm displaying!

    2024-06-20
    2024-06-19
    2024-01-08
    2024-03-15
    2024-03-19
    ...


    And this is what I should have.

    2024-01-08
    2024-03-15
    2024-03-19
    2024-06-19
    2024-06-20
    ...


    Here is the interface:

    export interface StandingResponse {
    ORD_CLI: StandingOrderPortfolio[];
    }

    export interface StandingOrderPortfolio {
    DOSTT: number;
    INTITULE1: string;
    PHONE: string;
    ORDDETAIL: {
    DATCRE: string;
    TITRE: {
    ISIN: string;
    LABEL: string;
    };
    AV: string;
    QTE: number;
    LIMITE: number;
    }[];
    }


    Template

    <ng-container *ngFor="let order of standingResponse">
    <!-- Parcourir ORDDETAIL de chaque ordre -->
    <ng-container *ngFor="let detail of order.ORDDETAIL">
    <tr>
    <!-- Affichage de DATCRE -->
    <td>{{ detail.DATCRE }}</td>
    </tr>
    </ng-container>
    </ng-container>


    logic

    export class TodoComponent implements OnInit {
    standingResponse: StandingOrderPortfolio[] = [];

    constructor(private todoService: TodoService) {}

    ngOnInit() {
    // Récupérer les données depuis le service
    this.standingResponse = this.todoService.ORD_CLI;

    // Trier les données par date
    this.sortByDate();
    console.log(this.standingResponse);
    }

    /**
    *
    */
    sortByDate() {
    this.standingResponse.forEach((order: StandingOrderPortfolio) => {
    order.ORDDETAIL.sort((a, b) => {
    // Transformer DATCRE en objets Date pour comparaison
    const dateA = new Date(a.DATCRE);
    const dateB = new Date(b.DATCRE);
    return dateA.getTime() - dateB.getTime();
    });
    });
    }
    }


    Service

    import { Injectable } from '@angular/core';

    @Injectable({
    providedIn: 'root',
    })
    export class TodoService {


    ORD_CLI= [
    {
    DOSTT: 973013037036,
    INTITULE1: "ANNETTE WUYLENS",
    PHONE: "00",
    TOMANY: "FALSE",
    ORDDETAIL: [
    {
    ORDRE: 228899711,
    SEQ: 1,
    MONT_QTY: 2,
    DOSTT: 973013037036,
    ACT: 0,
    ETOR: "P",
    ETOR_LIB: "En note",
    DATCRE: "2024-06-20",
    HEUCRE: "13:16:14+01:00",
    DATMOD: "2024-06-26",
    HEUMOD: "04:01:47+01:00",
    ORIGINE: "INT",
    TEXTEOR: "ORDER GEGEVEN DOOR MOBILE",
    DEV: "EUR",
    DEV1: "EUR",
    DEV2: "EUR",
    DEV3: "EUR",
    CPT: 973013037036,
    TITRE: {
    SVM: 784301277,
    ISIN: "LU1600559360",
    STOCK: "",
    LABEL: "NEK FD GLB THEMATIC CAP",
    PLACE: 26,
    PLACELABEL: "Fundsettle",
    REGR: 5,
    REGRLABEL: "Sicav",
    DEVISE: "EUR",
    COURS: {
    DATE: "2024-06-19",
    TIME: "14:10:17+01:00",
    VALUE: 1832.300000,
    HIGH: 1916.070000,
    LOW: 904.580000,
    CLOTURE: 1832.300
    }
    },
    AV: "V",
    QTE: 10.000,
    LIMITE: 0.000000,
    DATELIMITE: "2025-06-26",
    TYPORD: "",
    STOP: 0.000000,
    MIN: 0,
    MAX: 0,
    OPCL: "",
    BESTEXEC: 2,
    BESTEXEC_LIB: "N",
    DATENV: "2024-06-20",
    HEUENV: "13:16:14+01:00",
    DATRET: "0001-01-01",
    HEURET: "00:00:00+01:00",
    CRRE: 0.000000,
    DTOP: "0001-01-01",
    BCLI: 0,
    DATOPE: "0001-01-01",
    RAPPORT_EXEC: 0,
    AV_LIB: "Vente",
    INMARKET: "",
    CANMODIFY: "",
    CANDELETE: "",
    EXANUM: 0,
    DATSYS: "0001-01-01",
    HEUSYS: "00:00:00+01:00",
    DATCONF: "0001-01-01",
    HEUCONF: "00:00:00+01:00",
    ORIGINERMQ: ""
    }
    ]
    },
    {
    DOSTT: 973185149085,
    INTITULE1: "DE BOEL VAN LANGENHOVE",
    PHONE: "00",
    TOMANY: "FALSE",
    ORDDETAIL: [
    {
    ORDRE: 228895188,
    SEQ: 1,
    MONT_QTY: 1,
    DOSTT: 973185149085,
    ACT: 0,
    ETOR: "P",
    ETOR_LIB: "En note",
    DATCRE: "2024-06-19",
    HEUCRE: "10:17:45+01:00",
    DATMOD: "2024-06-26",
    HEUMOD: "04:01:34+01:00",
    ORIGINE: "INT",
    TEXTEOR: "ORDER GEGEVEN DOOR a0vamar",
    DEV: "EUR",
    DEV1: "EUR",
    DEV2: "EUR",
    DEV3: "EUR",
    CPT: 973185149085,
    TITRE: {
    SVM: 145978532,
    ISIN: "LU0476179014",
    STOCK: "950054",
    LABEL: "NEK PORT NEUTRAL RCAP",
    PLACE: 26,
    PLACELABEL: "Fundsettle",
    REGR: 5,
    REGRLABEL: "Sicav",
    DEVISE: "EUR",
    COURS: {
    DATE: "2024-06-20",
    TIME: "16:00:00+01:00",
    VALUE: 155.760000,
    HIGH: 163.610000,
    LOW: 88.046000,
    CLOTURE: 155.760
    }
    },
    AV: "A",
    QTE: 19801.890,
    LIMITE: 0.000000,
    DATELIMITE: "2025-06-26",
    TYPORD: "",
    STOP: 0.000000,
    MIN: 0,
    MAX: 0,
    OPCL: "",
    BESTEXEC: 2,
    BESTEXEC_LIB: "N",
    DATENV: "2024-06-19",
    HEUENV: "10:17:45+01:00",
    DATRET: "0001-01-01",
    HEURET: "00:00:00+01:00",
    CRRE: 0.000000,
    DTOP: "0001-01-01",
    BCLI: 0,
    DATOPE: "0001-01-01",
    RAPPORT_EXEC: 0,
    AV_LIB: "Achat",
    INMARKET: "",
    CANMODIFY: "",
    CANDELETE: "",
    EXANUM: 0,
    DATSYS: "0001-01-01",
    HEUSYS: "00:00:00+01:00",
    DATCONF: "0001-01-01",
    HEUCONF: "00:00:00+01:00",
    ORIGINERMQ: ""
    }
    ]
    },
    {
    DOSTT: 979595526956,
    INTITULE1: "DE CANCK TALLOEN",
    PHONE: "00",
    TOMANY: "FALSE",
    ORDDETAIL: [
    {
    ORDRE: 228578641,
    SEQ: 1,
    MONT_QTY: 2,
    DOSTT: 979595526956,
    ACT: 0,
    ETOR: "P",
    ETOR_LIB: "En note",
    DATCRE: "2024-04-15",
    HEUCRE: "16:50:15+01:00",
    DATMOD: "2024-05-24",
    HEUMOD: "07:30:01+01:00",
    ORIGINE: "INT",
    TEXTEOR: "ORDER GEGEVEN DOOR 03724264",
    DEV: "EUR",
    DEV1: "EUR",
    DEV2: "EUR",
    DEV3: "EUR",
    CPT: 979595526956,
    TITRE: {
    SVM: 382340,
    ISIN: "BE0003823409",
    STOCK: "TUB",
    LABEL: "FINANCIERE DE TUBIZE BE",
    PLACE: 1,
    PLACELABEL: "Euronext Brussels",
    REGR: 1,
    REGRLABEL: "Actions",
    DEVISE: "EUR",
    COURS: {
    DATE: "2024-11-21",
    TIME: "17:35:04+01:00",
    VALUE: 131.800000,
    HIGH: 145.800000,
    LOW: 11.020000,
    CLOTURE: 131.800
    }
    },
    AV: "V",
    QTE: 30.000,
    LIMITE: 112.200000,
    DATELIMITE: "2024-12-31",
    TYPORD: "",
    STOP: 0.000000,
    MIN: 0,
    MAX: 0,
    OPCL: "",
    BESTEXEC: 2,
    BESTEXEC_LIB: "N",
    DATENV: "2024-05-23",
    HEUENV: "21:59:59+01:00",
    DATRET: "2024-05-24",
    HEURET: "07:30:01+01:00",
    CRRE: 0.000000,
    DTOP: "0001-01-01",
    BCLI: 0,
    DATOPE: "0001-01-01",
    RAPPORT_EXEC: 0,
    AV_LIB: "Vente",
    INMARKET: "",
    CANMODIFY: "",
    CANDELETE: "",
    EXANUM: 0,
    DATSYS: "0001-01-01",
    HEUSYS: "00:00:00+01:00",
    DATCONF: "0001-01-01",
    HEUCONF: "00:00:00+01:00",
    ORIGINERMQ: ""
    },
    {
    ORDRE: 228449205,
    SEQ: 1,
    MONT_QTY: 2,
    DOSTT: 979595526956,
    ACT: 0,
    ETOR: "P",
    ETOR_LIB: "En note",
    DATCRE: "2024-03-27",
    HEUCRE: "18:02:58+01:00",
    DATMOD: "2024-04-29",
    HEUMOD: "08:48:03+01:00",
    ORIGINE: "INT",
    TEXTEOR: "ORDER GEGEVEN DOOR 03724264",
    DEV: "EUR",
    DEV1: "EUR",
    DEV2: "EUR",
    DEV3: "EUR",
    CPT: 979595526956,
    TITRE: {
    SVM: 659042450,
    ISIN: "NL00150003E1",
    STOCK: "FUR",
    LABEL: "FUGRO",
    PLACE: 3,
    PLACELABEL: "Euronext Amsterdam",
    REGR: 1,
    REGRLABEL: "Actions",
    DEVISE: "EUR",
    COURS: {
    DATE: "2024-11-21",
    TIME: "17:35:21+01:00",
    VALUE: 16.870000,
    HIGH: 24.940000,
    LOW: 6.289000,
    CLOTURE: 16.870
    }
    },
    AV: "V",
    QTE: 70.000,
    LIMITE: 28.800000,
    DATELIMITE: "2024-12-31",
    TYPORD: "",
    STOP: 0.000000,
    MIN: 0,
    MAX: 0,
    OPCL: "",
    BESTEXEC: 2,
    BESTEXEC_LIB: "N",
    DATENV: "2024-04-29",
    HEUENV: "08:48:03+01:00",
    DATRET: "2024-04-29",
    HEURET: "08:48:03+01:00",
    CRRE: 0.000000,
    DTOP: "0001-01-01",
    BCLI: 0,
    DATOPE: "0001-01-01",
    RAPPORT_EXEC: 0,
    AV_LIB: "Vente",
    INMARKET: "",
    CANMODIFY: "",
    CANDELETE: "",
    EXANUM: 0,
    DATSYS: "0001-01-01",
    HEUSYS: "00:00:00+01:00",
    DATCONF: "0001-01-01",
    HEUCONF: "00:00:00+01:00",
    ORIGINERMQ: ""
    },
    {
    ORDRE: 228433336,
    SEQ: 1,
    MONT_QTY: 2,
    DOSTT: 979595526956,
    ACT: 0,
    ETOR: "P",
    ETOR_LIB: "En note",
    DATCRE: "2024-03-19",
    HEUCRE: "22:04:44+01:00",
    DATMOD: "2024-04-12",
    HEUMOD: "08:09:25+01:00",
    ORIGINE: "INT",
    TEXTEOR: "ORDER GEGEVEN DOOR 03724264",
    DEV: "EUR",
    DEV1: "EUR",
    DEV2: "EUR",
    DEV3: "EUR",
    CPT: 979595526956,
    TITRE: {
    SVM: 100030339,
    ISIN: "NL0000337319",
    STOCK: "BAMNB",
    LABEL: "BAM GROEP KON",
    PLACE: 3,
    PLACELABEL: "Euronext Amsterdam",
    REGR: 1,
    REGRLABEL: "Actions",
    DEVISE: "EUR",
    COURS: {
    DATE: "2024-11-21",
    TIME: "17:35:24+01:00",
    VALUE: 4.060000,
    HIGH: 23.300000,
    LOW: 1.000000,
    CLOTURE: 4.060
    }
    },
    AV: "V",
    QTE: 800.000,
    LIMITE: 4.200000,
    DATELIMITE: "2024-12-31",
    TYPORD: "",
    STOP: 0.000000,
    MIN: 0,
    MAX: 0,
    OPCL: "",
    BESTEXEC: 2,
    BESTEXEC_LIB: "N",
    DATENV: "2024-04-12",
    HEUENV: "08:09:24+01:00",
    DATRET: "2024-04-12",
    HEURET: "08:09:25+01:00",
    CRRE: 0.000000,
    DTOP: "0001-01-01",
    BCLI: 0,
    DATOPE: "0001-01-01",
    RAPPORT_EXEC: 0,
    AV_LIB: "Vente",
    INMARKET: "",
    CANMODIFY: "",
    CANDELETE: "",
    EXANUM: 0,
    DATSYS: "0001-01-01",
    HEUSYS: "00:00:00+01:00",
    DATCONF: "0001-01-01",
    HEUCONF: "00:00:00+01:00",
    ORIGINERMQ: ""
    },
    {
    ORDRE: 228433335,
    SEQ: 1,
    MONT_QTY: 2,
    DOSTT: 979595526956,
    ACT: 0,
    ETOR: "P",
    ETOR_LIB: "En note",
    DATCRE: "2024-03-19",
    HEUCRE: "21:59:48+01:00",
    DATMOD: "2024-06-03",
    HEUMOD: "13:20:00+01:00",
    ORIGINE: "INT",
    TEXTEOR: "ORDER GEGEVEN DOOR 03724264",
    DEV: "EUR",
    DEV1: "CAD",
    DEV2: "EUR",
    DEV3: "CAD",
    CPT: 979595526956,
    TITRE: {
    SVM: 112093095,
    ISIN: "CA51669T1012",
    STOCK: "LAM",
    LABEL: "LARAMIDE RESOURCES LTD",
    PLACE: 19,
    PLACELABEL: "Toronto Stock Exchange",
    REGR: 1,
    REGRLABEL: "Actions",
    DEVISE: "CAD",
    COURS: {
    DATE: "2024-06-24",
    TIME: "22:00:00+01:00",
    VALUE: 0.690000,
    HIGH: 16.700000,
    LOW: 0.100000,
    CLOTURE: 0.690
    }
    },
    AV: "V",
    QTE: 1400.000,
    LIMITE: 2.250000,
    DATELIMITE: "2024-12-31",
    TYPORD: "",
    STOP: 0.000000,
    MIN: 0,
    MAX: 0,
    OPCL: "",
    BESTEXEC: 2,
    BESTEXEC_LIB: "N",
    DATENV: "2024-10-31",
    HEUENV: "22:06:03+01:00",
    DATRET: "0001-01-01",
    HEURET: "00:00:00+01:00",
    CRRE: 0.000000,
    DTOP: "0001-01-01",
    BCLI: 0,
    DATOPE: "0001-01-01",
    RAPPORT_EXEC: 0,
    AV_LIB: "Vente",
    INMARKET: "",
    CANMODIFY: "",
    CANDELETE: "",
    EXANUM: 0,
    DATSYS: "0001-01-01",
    HEUSYS: "00:00:00+01:00",
    DATCONF: "0001-01-01",
    HEUCONF: "00:00:00+01:00",
    ORIGINERMQ: ""
    },
    {
    ORDRE: 228394958,
    SEQ: 1,
    MONT_QTY: 2,
    DOSTT: 979595526956,
    ACT: 0,
    ETOR: "P",
    ETOR_LIB: "En note",
    DATCRE: "2024-03-15",
    HEUCRE: "10:41:58+01:00",
    DATMOD: "2024-05-24",
    HEUMOD: "07:30:01+01:00",
    ORIGINE: "INT",
    TEXTEOR: "ORDER GEGEVEN DOOR 03724264",
    DEV: "EUR",
    DEV1: "EUR",
    DEV2: "EUR",
    DEV3: "EUR",
    CPT: 979595526956,
    TITRE: {
    SVM: 659042450,
    ISIN: "NL00150003E1",
    STOCK: "FUR",
    LABEL: "FUGRO",
    PLACE: 3,
    PLACELABEL: "Euronext Amsterdam",
    REGR: 1,
    REGRLABEL: "Actions",
    DEVISE: "EUR",
    COURS: {
    DATE: "2024-11-21",
    TIME: "17:35:21+01:00",
    VALUE: 16.870000,
    HIGH: 24.940000,
    LOW: 6.289000,
    CLOTURE: 16.870
    }
    },
    AV: "V",
    QTE: 80.000,
    LIMITE: 30.800000,
    DATELIMITE: "2024-12-31",
    TYPORD: "",
    STOP: 0.000000,
    MIN: 0,
    MAX: 0,
    OPCL: "",
    BESTEXEC: 2,
    BESTEXEC_LIB: "N",
    DATENV: "2024-05-23",
    HEUENV: "22:02:27+01:00",
    DATRET: "2024-05-24",
    HEURET: "07:30:01+01:00",
    CRRE: 0.000000,
    DTOP: "0001-01-01",
    BCLI: 0,
    DATOPE: "0001-01-01",
    RAPPORT_EXEC: 0,
    AV_LIB: "Vente",
    INMARKET: "",
    CANMODIFY: "",
    CANDELETE: "",
    EXANUM: 0,
    DATSYS: "0001-01-01",
    HEUSYS: "00:00:00+01:00",
    DATCONF: "0001-01-01",
    HEUCONF: "00:00:00+01:00",
    ORIGINERMQ: ""
    },
    {
    ORDRE: 228021314,
    SEQ: 1,
    MONT_QTY: 2,
    DOSTT: 979595526956,
    ACT: 0,
    ETOR: "P",
    ETOR_LIB: "En note",
    DATCRE: "2024-01-08",
    HEUCRE: "12:02:42+01:00",
    DATMOD: "2024-01-08",
    HEUMOD: "12:02:43+01:00",
    ORIGINE: "INT",
    TEXTEOR: "ORDER GEGEVEN DOOR 03724264",
    DEV: "EUR",
    DEV1: "EUR",
    DEV2: "EUR",
    DEV3: "EUR",
    CPT: 979595526956,
    TITRE: {
    SVM: 350461202,
    ISIN: "NL0010391025",
    STOCK: "PHARM",
    LABEL: "PHARMING GROUP",
    PLACE: 3,
    PLACELABEL: "Euronext Amsterdam",
    REGR: 1,
    REGRLABEL: "Actions",
    DEVISE: "EUR",
    COURS: {
    DATE: "2024-11-21",
    TIME: "17:35:16+01:00",
    VALUE: 0.695000,
    HIGH: 1.640000,
    LOW: 0.059000,
    CLOTURE: 0.695
    }
    },
    AV: "V",
    QTE: 1500.000,
    LIMITE: 1.520000,
    DATELIMITE: "2024-12-31",
    TYPORD: "",
    STOP: 0.000000,
    MIN: 0,
    MAX: 0,
    OPCL: "",
    BESTEXEC: 2,
    BESTEXEC_LIB: "N",
    DATENV: "2024-01-08",
    HEUENV: "12:02:42+01:00",
    DATRET: "2024-01-08",
    HEURET: "12:02:43+01:00",
    CRRE: 0.000000,
    DTOP: "0001-01-01",
    BCLI: 0,
    DATOPE: "0001-01-01",
    RAPPORT_EXEC: 0,
    AV_LIB: "Vente",
    INMARKET: "",
    CANMODIFY: "",
    CANDELETE: "",
    EXANUM: 0,
    DATSYS: "0001-01-01",
    HEUSYS: "00:00:00+01:00",
    DATCONF: "0001-01-01",
    HEUCONF: "00:00:00+01:00",
    ORIGINERMQ: ""
    }
    ]
    },
    ...
    }
    ]



    constructor() {}
    }


    Thank you very much for your help, as I really want to solve this problem and understand the issue!

    Continue reading...

Compartilhe esta Página