2017-02-08 19 views
1

私は今日、明日、そして昨日の日付を探したいです。バックエンドからの日付を比較して、それぞれ「今日」、「明日」と「昨日」を表示したいと思います。明日のそして昨日の日付を見つける方法?

は今日のために、私が使用:

var a = Date(); 

明日のために、私が使用:

var b = Date() + 1; 

とするため

昨日、私が使用:

var b = Date() - 1; 

が故に、これが完了すると私が行ったコードformatter.js

myDate: function(abc) { 
    var oDateFormat; 
    var requiredDate = oDateFormat.format(new Date(abc)); 
    var currentDate = oDateFormat.format(new Date()); 
    var tomorrowDate = oDateFormat.format(new Date() + 1); 
    var yesterdayDate = oDateFormat.format(new Date() - 1); 
    if (requiredDate === currentDate) { 
    return "Today"; 
    } else if (requiredDate === tomorrowDate) { 
    return "Tomorrow"; 
    } else if (requiredDate === yesterdayDate) { 
    return "Yesterday"; 
    } else { 
    return requiredDate; 
    } 
}, 

しかし、明日昨日は動作しません。誰も私が間違っていることを示唆することはできますか?明日か昨日かを調べるには、システムの日付と日付を比較するにはどうすればよいですか?コードの下

+0

バックエンドの日付は文字列か日付型ですか。 –

+0

その日付タイプ –

+0

あなたのコードの問題は、日付を文字列にフォーマットして比較することです。あなたが文字列を比較することができないので、これは動作しません –

答えて

3

日付を表示するために、比較的、あなただけtype Dateformat option relativeでプロパティをバインドする必要があります。

など。 ODataサービスから日付値を取得する場合に

value="{ 
    path: 'modelName>/myDate', 
    type: 'sap.ui.model.type.Date', 
    formatOptions: { 
     relative: true 
    } 
}" 

enter image description here

、代わりにタイプsap.ui.model.odata.type.Dateを使用する:(https://embed.plnkr.co/Ec5jnK/から)。書式オプションは同じ方法で適用されます。

0

試してみてください。

myDate: function(BackEndDate) { 
     var currentDate = new Date(); 
     var tomorrowDate = new Date(); 
     var yesterdayDate = new Date(); 

     // Increase the date by 1 day 
     tomorrowDate.setDate(tomorrowDate.getDate() + 1); 

     // Decrease the date by 1 day 
     yesterdayDate.setDate(yesterdayDate.getDate() - 1); 

     if (BackEndDate === currentDate) { 
      return "Today"; 
     } 
     else if (BackEndDate === tomorrowDate) { 
      return "Tomorrow"; 
     } 
     else if (BackEndDate === yesterdayDate) { 
      return "Yesterday"; 
     } 

     else   
     { 
      return BackEndDate; 
     } 
    } 
}, 
+1

こんにちはVivek。私が使用した形式の日付にしようとした場合 この事は、しかし、働いている \t VAR oDateFormat = sap.ui.core.format.DateFormat.getDateTimeInstance({ \t \t \t \tパターン: "EEE、MMM dの" \t \t \t}); getDate()が関数ではないという同じエラーが表示されます。フロントエンドに表示するように日付をフォーマットする必要があります。 –

関連する問題