javascript - yyyy - Format Date heure dans AngularJS




new date angular (9)

Comment afficher correctement la date et l'heure dans AngularJS?

La sortie ci-dessous montre à la fois l'entrée et la sortie, avec et sans le filtre de date AngularJS:

In: {{v.Dt}}  
AngularJS: {{v.Dt | date:'yyyy-MM-dd HH:mm:ss Z'}}

Cela imprime:

In: 2012-10-16T17:57:28.556094Z 
AngularJS: 2012-10-16T17:57:28.556094Z

Le format d'affichage désiré est 2010-10-28 23:40:23 0400 ou 2010-10-28 23:40:23 EST


À l'intérieur d'un contrôleur, le format peut être filtré en injectant un filtre $.

var date = $filter('date')(new Date(),'MMM dd, yyyy');

Ajouter $filter dépendance $filter dans le contrôleur.

var formatted_datetime = $filter('date')(variable_Containing_time,'yyyy-MM-dd HH:mm:ss Z')

Je sais que c'est un vieux article, mais je pensais que j'aurais une autre option à considérer.

Comme la chaîne d'origine n'inclut pas le marqueur "T", l'implémentation par défaut dans Angular ne le reconnaît pas comme une date. Vous pouvez le forcer en utilisant la nouvelle Date, mais c'est un peu pénible sur un tableau. Comme vous pouvez filtrer les filtres ensemble, vous pouvez utiliser un filtre pour convertir votre entrée en une date, puis appliquer le filtre date: sur la date de conversion. Créez un nouveau filtre personnalisé comme suit:

app
.filter("asDate", function () {
    return function (input) {
        return new Date(input);
    }
});

Ensuite, dans votre balisage, vous pouvez canaliser les filtres ensemble:

{{item.myDateTimeString | asDate | date:'shortDate'}}

Je vous suggère d'utiliser moment.js il a un bon support pour le formatage de date en fonction des paramètres régionaux.

créer un filtre qui utilise en interne la méthode moment.js pour la mise en forme de la date.


Voici quelques exemples populaires:

<div>{{myDate | date:'M/d/yyyy'}}</div> <div>{{myDate | date:'M/d/yyyy'}}</div> 7/4/2014

<div>{{myDate | date:'yyyy-MM-dd'}}</div> <div>{{myDate | date:'yyyy-MM-dd'}}</div> 2014-07-04

<div>{{myDate | date:'M/d/yyyy HH:mm:ss'}}</div> <div>{{myDate | date:'M/d/yyyy HH:mm:ss'}}</div> 7/4/2014 12:01:59


Voici un filter qui prendra une chaîne de date OU un objet Date () javascript. Il utilise Moment.js et peut appliquer n'importe Moment.js fonction de transformation Moment.js , comme le populaire 'fromNow'

angular.module('myModule').filter('moment', function () {
  return function (input, momentFn /*, param1, param2, ...param n */) {
    var args = Array.prototype.slice.call(arguments, 2),
        momentObj = moment(input);
    return momentObj[momentFn].apply(momentObj, args);
  };
});

Alors...

{{ anyDateObjectOrString | moment: 'format': 'MMM DD, YYYY' }}

affichera 11 novembre 2014

{{ anyDateObjectOrString | moment: 'fromNow' }}

afficherait il y a 10 minutes

Si vous devez appeler plusieurs fonctions de moment, vous pouvez les chaîner. Cela convertit en UTC, puis les formats ...

{{ someDate | moment: 'utc' | moment: 'format': 'MMM DD, YYYY' }}

filter


Vous pouvez utiliser momentjs pour implémenter le filtre date-heure dans angularjs. Par exemple:

angular.module('myApp')
 .filter('formatDateTime', function ($filter) {
    return function (date, format) {
        if (date) {
            return moment(Number(date)).format(format || "DD/MM/YYYY h:mm A");
        }
        else
            return "";
    };
});

Où la date est dans le format d'horodatage.


nous pouvons formater la date sur le côté de la vue en angulaire est très facile .... s'il vous plaît vérifier l'exemple ci-dessous:

{{dt | date: "jj-MM-aaaa"}}


vous pouvez obtenir le filtre 'date' comme ceci:

var today = $filter('date')(new Date(),'yyyy-MM-dd HH:mm:ss Z');

Cela vous donnera la date d'aujourd'hui dans le format que vous voulez.





datefilter