[英]Moment js Time Ago calculate wrong date
也許是一個簡單的問題,但我不明白。
var date = new Date();
test = date.toISOString();
alert(moment(test, "YYYYMMDD").fromNow());
將返回“ 16小時”,但是為什么呢?
因為您使用的是moment(String, String)
而不是moment(String)
( toISOString()
輸出顯然是ISO 8601格式)或moment(Date)
。
因此, moment(test, "YYYYMMDD")
將是一天的開始,而不是當前時間。
如“ 默認”部分所述:
您可以創建一個矩對象,僅指定某些單位,其余的將默認為當前日期,月份或年份,或者小時,分鍾,秒和毫秒的默認值為0。
var date = new Date(); test = date.toISOString(); var m1 = moment(test, "YYYYMMDD") console.log(m1.format()); console.log(m1.fromNow()); var m2 = moment(test) console.log(m2.format()); console.log(m2.fromNow()); var m3 = moment(date) console.log(m3.format()); console.log(m3.fromNow());
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.20.1/moment.min.js"></script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.