簡體   English   中英

Javascript - 運算符“>”不能應用於類型“日期”和“時刻”

[英]Javascript - Operator '>' cannot be applied to types 'Date' and 'Moment'

我想比較最近 30 分鍾的數據並在 UI 中顯示。 日期時間需要是 UTC。 我嘗試使用 Moment 但出現錯誤

Javascript - Operator '>' cannot be applied to types 'Date' and 'Moment'.

下面是我的代碼:

  let d = moment();
      let d_utc = moment.utc();
      var customDate = new Date();
      d_utc.minutes(-30);  

      filteredData = filteredData.filter((category) => {
        return category.uploaded_time  > d_utc;
      });

如果您希望將Date與帶有DateMoment的實例進行比較,則需要將它們都轉換為相同的日期。

您可以調用.toDate()將時刻轉換為日期或調用moment(date)將日期轉換為時刻。

return category.uploaded_time > d_utc.toDate()

JavaScript 沒有運算符覆蓋,因此比較Moments的最安全方法是使用diff

return moment(category.uploaded_time).diff(d_utc) > 0

get+set 部分的文檔中,您可以比較秒數

文檔中的示例

moment.utc().seconds(30).valueOf() === new Date().setUTCSeconds(30);

你的代碼應該是

 let d_utc = moment.utc();
       let d_utc = moment.utc().minutes(-30).valueOf();

      filteredData = filteredData.filter((category) => {
        return category.uploaded_time.getUTCSeconds()  > d_utc;
      });

還有一個查詢部分,您可以檢查它

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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