Utilizo esta línea para obtener la fecha actual
public current_date=new Date();
y tengo este resultado:
Wed Apr 26 2017 10:38:12 GMT+0100 (Afr. centrale Ouest)
¿Cómo puedo transformar esto en este formato?
AAAA-MM-DD
Ejemplo según el documento
@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:'jmZ'}}</p>
</div>`
})
export class DatePipeComponent {
today: number = Date.now();
}
Plantilla
{{ dateObj | date }} // output is 'Jun 15, 2015'
{{ dateObj | date:'medium' }} // output is 'Jun 15, 2015, 9:43:11 PM'
{{ dateObj | date:'shortTime' }} // output is '9:43 PM'
{{ dateObj | date:'mmss' }} // output is '43:11'
{{dateObj | date: 'dd/MM/yyyy'}} // 15/06/2015
Para utilizar en su componente.
@Injectable()
import { DatePipe } from '@angular/common';
class MyService {
constructor(private datePipe: DatePipe) {}
transformDate(date) {
this.datePipe.transform(myDate, 'yyyy-MM-dd'); //whatever format you need.
}
}
En su app.module.ts
providers: [DatePipe,...]
todo lo que tienes que hacer es utilizar este servicio ahora.
Pruebe este código de abajo es también funciona bien en angular 2
<span>{{current_date | date: 'yyyy-MM-dd'}}</span>
Aquí hay una forma muy bonita y compacta de hacer esto, también puedes cambiar esta función según las necesidades de tu caso:
resultado: 03.11.2017
//get date now function
getNowDate() {
//return string
var returnDate = "";
//get datetime now
var today = new Date();
//split
var dd = today.getDate();
var mm = today.getMonth() + 1; //because January is 0!
var yyyy = today.getFullYear();
//Interpolation date
if (dd < 10) {
returnDate += `0${dd}.`;
} else {
returnDate += `${dd}.`;
}
if (mm < 10) {
returnDate += `0${mm}.`;
} else {
returnDate += `${mm}.`;
}
returnDate += yyyy;
return returnDate;
}