如何格式化两种不同格式的日期?

问题描述:

我用md-datepicker,我想用一句话“到”格式化start_date用字“从” 和end_date。 我试图使用:它设置为 “从” 所有日期如何格式化两种不同格式的日期?

$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

我想你是使用两个不同的日期选择器。你可以使用一个关键字或东西可能:

$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'); 

你应该检查你的“日期”是新的,然后现在或以上,然后设置格式。

$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和结束日期既可以是比现在年纪大了 – Serhiy

我有固定它像这样:

$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 ' '; 
       } 
      }; 

尝试使用此代码:

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/