簡體   English   中英

如何在JavaScript中將日期與字符串進行比較?

[英]How to compare a date to a string in JavaScript?

我目前正在嘗試創建一個自定義過濾器,該過濾器將在我的系統中顯示最新的文件。 我正在使用AngularJS來篩選列出的數據。

我遇到的問題是我的日期數據以字符串形式存儲在json文件中,並且我不確定如何對其進行過濾。

我的想法是通過將今天的日期存儲為變量並將其與json文件存儲的日期進行比較來創建自定義過濾器。

這是我的json文件的外觀

{
    "data": [

        {
            "title": "Something Exciting",
            "description": "A TV show about something really exciting.",
            "date": " 06/2017",
            "link": "../pdf/whoReadsBooksAnyway.pdf"
        },
        {
            "title":"Stranger Things",
            "description":"Getting back that 80's Steven King Vibe",
            "date": "05/2017",
            "link": "../pdf/AllAlongTheWatchTower.pdf"
        }
    ]
}

我需要按最新date字段顯示項目,因此我開始創建自定義過濾器:

 app.filter('dateFilter', function($scope){

         $scope.getDatetime = new Date();

         var aaa = "../../../views/TvShows/json/shows.json"
         $http.get(aaa).then(function maybe(response, date){
                $scope.data = reseponse.data.data;
            });

        if($scope.getDatetime < $scope.data.date){
            return $scope.myFilter;
        } else{
            console.log("it didn't work");
        }
    });

過濾器背后的想法是使用http請求捕獲日期,並將其與$scope.GetDatetime進行比較,后者是當前日期。 我不太確定如何構建過濾器。 xstatsx只是我從最初的http get請求返回的$scope對象。

   var xurlx = '../../../views/TvShows/json/shows.json'
            $http.get(xurlx).then(function(response, data){
                $scope.xstatsx = response.data.data; 
            });

在我的HTML中,我使用它來過濾和顯示最新日期:

  <div class="well well-lg" style="display: inline-block;" ng-repeat="n in xstatsx | orderBy: '-date'" ng-show='0 == $index'>

如何過濾我的輸出,使其僅顯示列出的最新文件?

嘗試這個 :

 reseponse.data.data.forEach((item)=>{
  let date = new Date(),
    split = item.date.split("/");
  date.setDate(1);
  date.setMonth(+(split[0]) - 1);
  date.setYear(split[1]);
  item.sort = date;
});  

並在HTML中使用orderBy過濾器排序鍵

<div ng-repeat="n in xstatsx | orderBy : 'sort' " ></div>

暫無
暫無

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

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