如何获得完整日期中2个日期之间的差异(我不想要一天中的任何一小部分)
var date1 = new Date('7/11/2010');
var date2 = new Date('12/12/2010');
var diffDays = date2.getDate() - date1.getDate();
alert(diffDays)
Run Code Online (Sandbox Code Playgroud)
我试过上面的但是这没用.
我可以使用MomentJs获得两个日期之间的差异,如下所示:
moment(end.diff(startTime)).format("m[m] s[s]")
Run Code Online (Sandbox Code Playgroud)
但是,我也希望在适用时显示小时(仅当> = 60分钟时才显示).
但是,当我尝试使用以下内容检索持续时间时:
var duration = moment.duration(end.diff(startTime));
var hours = duration.hours();
Run Code Online (Sandbox Code Playgroud)
它返回当前小时而不是两个日期之间的小时数.
如何获得两个时刻之间的小时差异?
我想以人性化的格式显示相对于当前日期的一些日期.
人性化相对日期的例子:
基本上忠实地保持最高的数量级(并且优先考虑,只有当通过其中2个单位时才调高单位 - 5周而不是1个月).
虽然我可以住一个控制较少的图书馆,甚至更友好的日期,如:
任何流行的图书馆?
我正在尝试为我的Angular 2应用程序创建一个'time ago'管道.
它应该将日期转换为字符串,例如"5分钟前"或"60秒前".它到目前为止工作得很好,但在第一次计算后它没有更新.如果给定日期是例如5秒前,它显示'5秒前',但在此之后永远不会改变.
我已经尝试将管道的"纯"值设置为false但这没有帮助.
这是我的代码:
import {Pipe, PipeTransform} from 'angular2/core';
@Pipe({
name: 'messageTime',
pure: false
})
export class MessageTimePipe implements PipeTransform {
transform(value: Date, []): string {
var result: string;
// current time
let now = new Date().getTime();
// time since message was sent in seconds
let delta = (now - value.getTime()) / 1000;
// format string
if (delta < 10) {
result = 'jetzt';
} else if (delta < 60) { // sent in last minute
result = …Run Code Online (Sandbox Code Playgroud)