[英]Moment js diff function is not working in react native
在我的本機應用程序中,我使用moment js。 我有以下代碼。
const expDate = moment(new Date(val)).format('MM-DD-YYYY');
const nowDate = moment().format('MM-DD-YYYY');
const diff = nowDate.diff(expDate, 'years');
console.log(diff);
但這就是說,diff不是函數。 我嘗試了其他幾種方法,然后收到了棄用警告,說RFC2822,格式等。
我在上面的代碼中做錯了什么?
我假設您的val
是一個字符串,您可以通過傳遞格式直接從字符串中創建一個時刻。
const expDate = Moment("06-30-2018", "MM-DD-YYYY"); // create moment from string with format
const nowDate = Moment(); // new moment -> today
const diff = nowDate.diff(expDate, 'days'); // returns 366
const diff2 = nowDate.diff(expDate, 'years'); // returns 1
.format
將您的時刻轉換為字符串,這就是.diff
不起作用的原因
工作博覽會:
您需要在.diff
之后執行.format
。
const expDate = moment(new Date("1999-02-18T00:00:00")); const nowDate = moment(); const nowDateFormated = nowDate.format('MM-DD-YYYY'); const expDateFormated = expDate .format('MM-DD-YYYY'); const diff = nowDate.diff(expDate, 'years'); console.log(diff);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
const expDate = moment(new Date("1999-02-18T00:00:00")); const nowDate = moment(); const nowDateFormated = nowDate.format('MM-DD-YYYY'); const expDateFormated = expDate .format('MM-DD-YYYY'); const diff = nowDateFormated.diff(expDateFormated , 'years'); console.log(diff);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.