2017-08-31 1 views
0

J'utilise moment.js et obtenir quelque chose d'étrange:Moment.js traduction wierd

Chaîne d'entrée:

'Wed, 30 Aug 2017 19:53:54 EST' 

Vous voulez analyser à l'aide Moment.js:

moment('Wed, 30 Aug 2017 19:53:54 EST', 'ddd, DD MMM YYYY HH:mm:ss z'); 

obtenir objet:

_d: Wed May 31 2017 23:59:59 GMT+0300 (FLE Daylight Time) {} 
_f: "ddd, DD MMM YYYY HH:mm:ss z" 
_i: "Wed, 30 Aug 2017 19:53:54 EST" 
_isAMomentObject: true 
_isUTC: false 
_isValid: true 

_i - c'est l'entrée

_f - que je peux comprendre - le format

_d - c'est la date, le résultat de l'analyse syntaxique, POURQUOI il y a 31 mai?

+0

Possi ble duplicate de [objectjs internal object ce qui est "\ _d" vs "\ _i"] (https://stackoverflow.com/questions/28126529/momentjs-internal-object-what-is-d-vs-i) – VincenzoC

Répondre

0

Problème résolu et trouvé. Si quelqu'un rencontrait le même problème, il pourrait vérifier ma solution. objet DateTime muter dans le contrôleur:

let myDate = moment(); 
------------ skip ------------ 
let someObj = { 
     yesterday: myDate.subtract(1, 'days') 
    }; 

Parce qu'il est l'objet, les définitions comme ci-dessous n'a pas aide:

const myDate = moment(); 

ou

let myDate = moment(); 
Object.freeze(myDate); 

seule solution de travail pour moi:

let myDate = moment(); 
------------ skip ------------ 
let someObj = { 
     yesterday: myDate.clone().subtract(1, 'days') 
    };