Javascript 显示';今天';而不是日期

Javascript 显示';今天';而不是日期,javascript,angularjs,momentjs,Javascript,Angularjs,Momentjs,我正在使用angular和moment.js在我的应用程序中显示日期。如果用户选择的日期不是今天,则我希望格式为“11月21日星期六下午12:00”,当用户使用amDateFormat从我的日历中单击某一天时,我可以使用该格式 以下是: $scope.setDate = function(day){ var myDate = day.date; $scope.date = moment($scope.date).set( { 'year': myDate.

我正在使用angular和moment.js在我的应用程序中显示日期。如果用户选择的日期不是今天,则我希望格式为“11月21日星期六下午12:00”,当用户使用amDateFormat从我的日历中单击某一天时,我可以使用该格式 以下是:

$scope.setDate = function(day){
    var myDate = day.date;
    $scope.date = moment($scope.date).set(
    {
        'year': myDate.year(), 
        'month': myDate.month(), 
        'date': myDate.date()
    }).toDate();
}

<div> {{ date | amDateFormat:'h:mm A ddd Do MMM'}}</div>
$scope.setDate=函数(天){
var myDate=day.date;
$scope.date=时刻($scope.date).set(
{
“年”:myDate.year(),
“月”:myDate.month(),
“日期”:myDate.date()
}).toDate();
}
{date | amDateFormat:'h:mm A ddd Do MMM'}

如果选择的日期是今天,我如何将日期显示为“今天下午12:00”?

我不熟悉。不过,您可以将“时刻日历”用于今天的日期。 从中,可以按如下方式调整日历:

moment.locale('en', {
    calendar : {
        sameDay : 'LT [Today]'
    }
});
然后调用
moment().calendar()

假设您使用的版本至少为2.10.5,下面是一个代码段,其中提供了另一种方法:


var divTime=$(“#time”);
var time=moment().日历(空{
萨米代:“它[今天]”
});
文本(时间);

也许您可以使用“amCalendar”过滤器。或者您可以创建自己的筛选器,以便在“amDateFormat”和“amCalendar”之间切换