显示“今天”而不是日期

时间:2015-11-21 16:11:34

标签: javascript angularjs momentjs

我正在使用angular和moment.js在我的应用中显示日期。如果用户选择了今天以外的日期,我希望格式为'12月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>

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

1 个答案:

答案 0 :(得分:2)

我不熟悉角度。但是,您可以在今天的日期使用时刻日历。 从doc您可以调整日历,如下所示:

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

然后拨打moment().calendar();

这是一个代码片段,假设您使用的版本至少为2.10.5,则使用其他方法:

 
  
    var divTime = $('#time');
    var time = moment().calendar(null, {
      sameDay: 'LT [Today]'
    });
    divTime.text(time);
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.6/moment.min.js"></script>
<div id="time">