在Angular6中将ddmmyyyy HH:mm转换为dd-mm-yyyy HH:mm

时间:2019-01-18 14:02:36

标签: angular datetime angular6 datetime-format

我从Api响应中获得的日期格式是这样的。

"startDate" : "07112018 00:00".

我想将其转换为dd-mm-yyyy HH:mm格式。就像这样07-11-2018 00:00. 谁能告诉我如何使用Angular 6做到这一点。

2 个答案:

答案 0 :(得分:1)

您可以为此使用DatePipe API:https://angular.io/api/common/DatePipe

@Component({
 selector: 'date-pipe',
 template: `<div>
   <p>Today is {{today | date}}</p>
   <p>Or if you prefer, {{today | date:'fullDate'}}</p>
   <p>The time is {{today | date:'h:mm a z'}}</p> //format in this line
 </div>`
})
// Get the current date and time as a date-time value.
export class DatePipeComponent {
  today: number = Date.now();
}

这实际上是您想要的:

{{myDate | date: 'dd-MM-yyyy'}}

编辑: 在组件中使用内置管道

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

class MyService {

  constructor(private datePipe: DatePipe) {}

  transformDate(date) {
    return this.datePipe.transform(date, 'yyyy-MM-dd');
  }
}

请阅读本主题,我从那里举了个例子:https://stackoverflow.com/a/35152297/5955138

Edit2: 正如我在评论中所述,您可以使用此子日期。

var str = '07112018'
var d = new Date(str.substring(0, 2)+'.'+str.substring(2, 4)+'.'+str.substring(4, 8));
  

输出:2018年7月11日星期三00:00:00 GMT + 0300

答案 1 :(得分:0)

尝试此功能根据需要转换时间格式

timeFormetChange(){
 var date =new Date();
 var newDate = date.getDate();
 var newMonth = date.getMonth();
 var newYear =date.getFullYear();
 var Hour = data.getHours();
 var Minutes = data.getMinuets();
 return `${newDate}-${newMonth }-${newYear} ${Hour}:${Minutes }`
}