簡體   English   中英

Moment js Time Ago計算錯誤的日期

[英]Moment js Time Ago calculate wrong date

也許是一個簡單的問題,但我不明白。

var date = new Date();
test = date.toISOString();
alert(moment(test, "YYYYMMDD").fromNow());

將返回“ 16小時”,但是為什么呢?

演示: https : //jsfiddle.net/5jacaxbf/

因為您使用的是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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM