Показать день с часами в Angularjs - PullRequest
0 голосов
/ 22 мая 2018

Вот дата и время.

Date 2018-05-25T10:35:04.000Z

Ожидаемый результат = 3 дня 12 часов

Я хочу отображать дату и время так же, как и выше,В настоящее время я использую moment.js.Есть ли способ отобразить как выше?

Ответы [ 3 ]

0 голосов
/ 22 мая 2018

В качестве альтернативы предложению Zvi, вы можете использовать AngularJS фильтр даты

Скажите, что в вашем контроллере у вас есть 2 даты:

app.controller('AppCtrl', function($scope) {
    ctrl = this;

    ctrl.date1 = new Date("2018-05-22T22:35:04.000Z");
    ctrl.date2 = new Date("2018-05-25T10:35:04.000Z");
});

И в HTML выотобразил бы разницу с фильтром даты:

{{ctrl.date2 - ctrl.date1 | date:"dd 'days' HH 'hours'"}}

Вот рабочий Пример JSFiddle

0 голосов
/ 24 мая 2018

Вам следует рассмотреть возможность использования библиотеки HumanizeDuration (вы можете проверить этот ответ ).Он позволяет переводить на любой язык, который вы хотите, разницу между двумя датами так, как вы хотите.

Например:

var yourdate= moment().set({'year': 2018, 'month': 5, 'day': 22});
var today = moment();
var duration = moment.duration(today.diff(yourdate));
var humanized = humanizeDuration(duration, { units: ['d', 'h'], language: language, round: true });

Вы также можете отформатировать его с помощью проставок и т. Д.

0 голосов
/ 22 мая 2018

Вы можете использовать этот точный диапазон моментов .

Вот полный пример:

calcDiff = (date : string) => {
    let diff_in_string = '';
    let original_date = moment(date);
    let date_time_now = moment();
    let diff_in_object: any = moment-presice.preciseDiffBetweenDates(original_date, date_time_now, true);
    if (diff_in_object.days > 0) {
        diff_in_string = diff_in_string + diff_in_object.days + ' ';
        if (diff_in_object.days === 1) {
            diff_in_string += 'Day '
        } else {
            diff_in_string += 'Days '
        }
    }
    if (diff_in_object.hours > 0) {
        if (diff_in_object.days > 0) {
            diff_in_string += 'and ' + diff_in_object.hours + ' '
        } else {
            diff_in_string += diff_in_object.hours + ' '
        }
        if (diff_in_object.hours === 1) {
            diff_in_string += 'Hour '
        } else {
            diff_in_string += 'Hours '
        }
    }
    diff_in_string += 'ago'
    return diff_in_string;
}
...