angular - Typescript 将时间戳转换为 mm-dd 格式

标签 angular typescript timestamp angular-pipe

Angular 有一个用于将时间戳转换为日期的管道。我在网上搜索了很多,在 typescript 中没有很好的解决方案。

我尝试了 Javascript 转换,但没有得到想要的结果。我需要以 EEEE, MMMM d 格式获取数据,即 Tuesday, January 25 我知道我们可以在模板中使用管道来实现这一点,但不知道如何获取这在 typescript 中。

我试过了

formatDate(date) {
   let d = new Date(date * 1000)
   return d.getMonth() + 1 + "," + d.getDate
}

并像这样在我的代码中使用

for(let i=0; i < this.lessons.length; i++){
      for(let j=1; j< this.lessons.length; j++){
        if(this.formatDate(this.lessons[i].start_time) === this.formatDate(this.lessons[j].start_time)){
          this.data.push({title: this.formatDate(this.lessons[i].start_time), lessons: []})
        }
      }
    }
    console.log(this.data)
  })

但不幸的是,我的控制台中的所有内容都是这样的:

{title: "NaN,function getDate() { [native code] }", lessons: Array(0)}

谁能帮忙解决这个问题。提前致谢!

最佳答案

那么,为什么不使用管道 itslef 呢?

import { DatePipe } from '@angular/common';

const datePipe = new DatePipe('en-US');
const myFormattedDate = datePipe.transform(this.myTimeStamp, 'EEEE, MMMM d');

关于angular - Typescript 将时间戳转换为 mm-dd 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48402045/

相关文章:

node.js - 路由无法正常工作

javascript - Visual Studio -> Shared TypeScript Library -> TS6059 文件 '' 不在 'rootDir' '' 下。 'rootDir' 应该包含所有源文件

mysql - 将mysql时间戳的时间转换为am/pm格式

mysql - 如何根据时间戳构建仅返回本月行的查询?

postgresql - 在 PostgreSQL 中设置时间戳列的时区

angular - 无法取消当前导航并从根组件导航到其他地方

javascript - 从另一个组件访问 viewchild

javascript - 加载在 angular2 Final 中动态创建的动态组件

javascript - 如何在从 Angular 多选删除值之前放置 JavaScript 警报提示

typescript - Vue TypeScript 项目中事件的类型是什么?