以Angularjs显示带小时的日期
这是日期和时间以Angularjs显示带小时的日期,angularjs,momentjs,Angularjs,Momentjs,这是日期和时间 Date 2018-05-25T10:35:04.000Z 预期输出=3天12小时 我想显示日期和时间,就像上面给出的一样。目前,我正在使用moment.js。有没有像上面那样显示的方法?您可以使用这个 以下是完整的示例: calcDiff = (date : string) => { let diff_in_string = ''; let original_date = moment(date); let date_time_now = mom
Date 2018-05-25T10:35:04.000Z
预期输出=3天12小时
我想显示日期和时间,就像上面给出的一样。目前,我正在使用moment.js
。有没有像上面那样显示的方法?您可以使用这个
以下是完整的示例:
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;
}
除Zvi的建议外,您还可以使用 在控制器中说您有两个日期:
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'"}}
<>这是一个工作 你应该考虑使用这个库(你可以检查)。 它允许你用任何你想要的语言翻译两个日期之间的差异 例如:
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 });
您也可以使用间隔符等设置格式。谢谢您的建议,但它不起作用。请尝试以下两个日期:ctrl.date1=新日期(“2018-05-22T22:35:04.000Z”);ctrl.date2=新日期(“2018-05-22T10:35:04.000Z”)是的,当ctrl.date1>ctrl.date2时它不起作用,因为我们正在执行date1与date2的减法