如何摆脱Angular中新的Date()对象的时间[重复]

问题描述 投票:-6回答:2

这个问题在这里已有答案:

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

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

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

班级:

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: []
    }
javascript angular date typescript
2个回答
0
投票

在与日期相关的操作中,没有什么能比Moment.js更好 看看下面的代码勾选的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中


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));
© www.soinside.com 2019 - 2024. All rights reserved.