2017-03-13 1 views
-1

J'utilise le module ng2-daterangepicker dans mon application Angular 2. Le module renvoie un objet, mais j'ai besoin d'un format AAAA-MM-JJ.Comment formatez-vous les dates des objets JS dans Angular 2?

Je voudrais utiliser un tube de date, mais je ne pense pas qu'il soit possible d'utiliser avec le module, car le code HTML n'utilise pas une variable régulière. Le module possède des paramètres pour définir le format, mais il ne semble pas fonctionner correctement - je reçois toujours un objet.

.format ne fonctionne pas, car Angular 2 est en tapuscrit. J'ai essayé .toString(), qui renvoie une date dans ce format: Wed Mar 08 2017 00:00:00 GMT + 0100 - mais je ne suis pas sûr de la façon dont je convertirais alors cela au format dont j'ai besoin.

HTML

  <input type="text" name="daterangeInput" daterangepicker [options]="options" (selected)="selectedDate($event)"/> 

LA MACHINE A ECRIRE
startDate: any; 
    endDate: any; 

    private selectedDate(value: any) { 

    this.startDate = value.start.toString(); 
    console.log(this.startDate); 

    this.endDate = value.end.toString(); 
    console.log(this.endDate) 
    // console.log(value.end.format("YYYY-MM-DD")); 
} 


    constructor(

     private mapsAPILoader: MapsAPILoader, 
     private ngZone: NgZone, 
     private http: Http, 
     private daterangepickerOptions: DaterangepickerConfig 

    ) { 

    this.daterangepickerOptions.settings = { 
     locale: { format: 'YYYY/MM/DD' }, 
     alwaysShowCalendars: false 
    }; 


} 

Je suis nouveau angulaire 2. Toute aide très appréciée!

Répondre

1

Les formats de date natifs ne sont pas toujours gérés correctement par les navigateurs. Vous pouvez utiliser la bibliothèque 'momentjs' MomentJs

Une fois la bibliothèque installée, vous devez l'importer dans votre composant et l'utiliser.

import * as moment from 'moment'; 
.... 

moment(date).format('YYYY-MM-DD') 
+0

Fonctionne parfaitement. Merci!!! – universesurfer