如何摆脱Angular中新的Date()对象的时间

时间:2018-03-01 14:57:10

标签: javascript angular date typescript

我有以下class,我为Date指定了birtDate类型。

当我创建一个类的实例,并按以下方式填充日期时,这就是我在前端得到的结果:Sun Jun 17 2012 00:00:00 GMT+0200 (CEST)

我只想要Jun 17 2012部分,那么我应该提供什么格式才能获得呢?

班级:

export class Person {
    public firstname: String;
    public lastname: String;
    public birthDate: Date;
    public area: String;
    public rating: number[];
}

班级的一个实例:

   {
      firstname: 'Elin',
      lastname: 'Skuladottir',
      birthDate: new Date(2012, 5, 17),
      area: 'Greater Copenhagen',
      rating: []
    }

2 个答案:

答案 0 :(得分:0)

您可以使用toLocaleDateString格式化Date

尝试使用此功能:

   
function formatDate(date) {
	var options = { year: 'numeric', month: 'short', day: 'numeric' };
	return date.toLocaleDateString('en-US', options).replace(/,/g,'');
}

var person = {
  firstname: 'Elin',
  lastname: 'Skuladottir',
  birthDate: new Date(2012, 5, 17),
  area: 'Greater Copenhagen',
  rating: []
}
    
    
console.log(formatDate(person.birthDate));

答案 1 :(得分:0)

  

在与日期相关的操作中,没有什么比Moment.js好   请查看以下代码 tick

Moment.js docs

let obj = {
  firstname: 'Elin',
  lastname: 'Skuladottir',
  birthDate: new Date(2012, 5, 17),
  area: 'Greater Copenhagen',
  rating: []
};

// ddd: Sun
// MMM: Jun
// DD: 17
// YYYY: 2012
console.log(moment(obj.birthDate).format("ddd MMM DD YYYY"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.20.1/moment.min.js"></script>

  

不要忘记将Moment.js cdn包含在index.html