当前位置: 首页 > 知识库问答 >
问题:

角2“时间前”管

晏德佑
2023-03-14
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 = 'vor ' + Math.floor(delta) + ' Sekunden';
    } else if (delta < 3600) { // sent in last hour
      result = 'vor ' + Math.floor(delta / 60) + ' Minuten';
    } else if (delta < 86400) { // sent on last day
      result = 'vor ' + Math.floor(delta / 3600) + ' Stunden';
    } else { // sent more than one day ago
      result = 'vor ' + Math.floor(delta / 86400) + ' Tagen';
    }

    return result;
  }
}
import {Component, Input} from 'angular2/core';
import {MessageTimePipe} from '../../pipes/message-time.pipe';

@Component({
  selector: 'message-item',
  pipes: [MessageTimePipe],
  templateUrl: 'build/components/message-item/message-item.component.html'
})
export class MessageItemComponent {
  @Input()
  message: JSON;

  date: Date;

  ngOnInit() {

   this.date = new Date(2016, 3, 16, 12, 49, 10);
  }
}
<p class="time">
  {{ date | messageTime }}
</p>

共有1个答案

司徒鸿文
2023-03-14

以下库在英语中执行相同的工作,可以通过分叉来更改语言或支持不同的语言:

https://www.npmjs.com/package/time-ago-pipe

npm install time-ago-pipe --save

然后在@ngmodule中使用它:

import {TimeAgoPipe} from 'time-ago-pipe'

@NgModule({
    imports: [... etc ...],
    declarations: [AppComponent, ...etc..., TimeAgoPipe],
    bootstrap: [AppComponent]
})
<span>{{your_date | timeAgo}}</span>
 类似资料:
  • 问题内容: MySQL中此查询的有效语法是什么? 注意:start_time是课程表的字段 问题答案: 有关其他日期/时间操作,请参见日期和时间功能。

  • 问题内容: 想要改善这篇文章吗? 提供此问题的详细答案,包括引文和为什么答案正确的解释。答案不够详细的答案可能会被编辑或删除。 我想转换格式的时间戳记,并把它变成像用PHP。 我找到了一个有用的脚本来执行此操作,但是我认为它正在寻找一种不同的格式用作时间变量。我要修改以使用此格式的脚本是: 我认为在脚本的前几行中,脚本正在尝试执行以下操作(不同的日期格式数学): 我如何将时间戳转换为该(unix?

  • 问题内容: 有什么不同?我什么时候应该使用哪个?我是Angular的新手,他们看上去和我非常相似。我宁愿从一开始就遵循最佳实践。 问题答案: 重复执行回调,而只是延迟执行回调(不重复)。所以,不,他们不一样。另外,应该注意的是,它们两者都是和的包装。 我还建议阅读由John Resig撰写的有关Javascript计时器如何工作的精彩文章。

  • html SystemJS配置 家庭组件 问-我如何修复这个未知元素的问题?谢了!

  • 问题内容: 如何获取格式为2个字符串的持续时间? 我正在尝试使用Calendar类并检查。我与此有关的问题是它不一致。知道我在做什么错吗?每次我运行该程序时,如果没有,输出40-70行到控制台。 问题答案: 那是一个已记录的错误。 尝试在设置日历之前清除日历:

  • 2. 角色 2.1 如何创建角色? 进入“角色”管理页面之后,选择“创建新角色”,即可创建新的角色。 2.2 如何给角色添加权限? 选择创建好的角色,给角色添加权限。