2017-03-02 18 views
1

私はmd-datepickerを使用していますが、start_dateという単語を "from"という単語で とend_dateという単語で "to"にフォーマットします。2つの日付を異なる形式でフォーマットするにはどうすればよいですか?

$mdDateLocale.formatDate = function (date) { 
    if (date) { 
     var formatedDate = moment(date).format('[to] DD-MM-YYYY'); 
     return formatedDate; 
    } else { 
     return ' '; 
    } 
}; 

$mdDateLocale.formatDate = function (date) { 
    if (date) { 
     var formatedDate = moment(date).format('[from] DD-MM-YYYY'); 
     return formatedDate; 
    } else { 
     return ' '; 
    } 
}; 

しかし、それはすべての日付に "から" 設定: は、私が使用しようとしました。

+1

'start_date'と' end_date'をどのように識別しますか?私たちがあなたに手伝ってもらうための情報をあまりにも与えなかったのを恐れています。 – VincenzoC

答えて

1

2つの異なる日付ピッカーを使用しているとします。あなたは多分、キーワードや何か使用することができます

$mdDateLocale.formatDate = function (date, keyword) { 
    if (date) { 
     var formatedDate = moment(date).format('[' + keyword + '] DD-MM-YYYY'); 
     return formatedDate; 
    } else { 
     return ' '; 
    } 
}; 

をし、そのようにそれを呼び出す:

formatDate(date, 'from'); 
formatDate(date, 'to'); 
0

あなたの「日付」が現在の年月日より古いかどうかを確認してから、フォーマットを設定する必要があります。

$mdDateLocale.formatDate = function (date) { 
    if (date) { 
    if (new Date(date) > new Date()) { 
     return moment(date).format('[to] DD-MM-YYYY'); 
    } else { 
     return moment(date).format('[from] DD-MM-YYYY'); 
    } 
    return formatedDate; 
    } else { 
    return ' '; 
    } 
}; 
+0

startDateとendDateの両方が現在より古いことがあります – Serhiy

0

私はこのようにそれを修正した:

$mdDateLocale.formatDate = function (date) { 
       if (date) { 
        if(date == vm.startDate) { 
         var formatedDate = moment(date).format('[From:] DD-MM-YYYY'); 
         return formatedDate; 
        } else if(date == vm.endDate) { 
         var formatedDate = moment(date).format('[To:] DD-MM-YYYY'); 
         return formatedDate; 
        } else { 
         var formatedDate = moment(date).format('DD-MM-YYYY'); 
         return formatedDate; 
        } 

       } else { 
        return ' '; 
       } 
      }; 
0

は、このコードを使用してみてください。

var startDate = moment(some_start_date_value); 
var endDate = moment(some_end_date_value); 
var differenceDays = startDate.diff(endDate, 'days'); 
//you also can use 'minutes', 'hours', etc... 

http://momentjs.com/docs/#/displaying/difference/

関連する問題