Estoy usando la date
tubería para formatear mi fecha, pero simplemente no puedo obtener el formato exacto que quiero sin una solución. ¿Estoy entendiendo mal las tuberías o simplemente no es posible?
//our root app component
import {Component} from 'angular2/core'
@Component({
selector: 'my-app',
providers: [],
template: `
<div>
<h2>Hello {{name}}</h2>
<h3>{{date | date: 'ddMMyyyy'}}, should be
{{date | date: 'dd'}}/{{date | date:'MM'}}/{{date | date: 'yyyy'}}</h3>
</div>
`,
directives: []
})
export class App {
constructor() {
this.name = 'Angular2'
this.date = new Date();
}
}
date
tubería tiene varios problemas actualmente.Respuestas:
Error de formato de fecha de tubería solucionado en Angular 2.0.0-rc.2, esta solicitud de extracción .
Ahora podemos hacer de la manera convencional:
Ejemplos:
Versión actual:
Example Angular 8.x.x
Versiones antiguas:
Example Angular 7.x
Example Angular 6.x
Example Angular 4.x
Example Angular 2.x
fuente
<input #dob="ngModel" [(ngModel)]="model.dob" [ngClass]="{ 'is-invalid': f.submitted && dob.invalid }" class="form-control" id="dob" name="dob" required type="date" />
Cómo puedo arreglar esto ?Importe DatePipe desde angular / común y luego use el siguiente código:
donde userdate será su cadena de fecha. A ver si esto ayuda.
Tome nota de las minúsculas para la fecha y el año:
EDITAR
locale
Debe pasar una cadena como argumento a DatePipe, en el último angular. He probado en angular 4.xPor ejemplo:
fuente
Supplied parameters do not match any signature of call target.
ennew DatePipe()
new DatePipe('en-US');
Puede lograr esto usando una simple tubería personalizada.
La ventaja de usar una tubería personalizada es que, si desea actualizar el formato de fecha en el futuro, puede ir y actualizar su tubería personalizada y se reflejará en todas partes.
Ejemplos de tuberías personalizadas
fuente
Siempre uso Moment.js cuando necesito usar fechas por cualquier motivo.
Prueba esto:
Y a la vista:
fuente
moment
¡La biblioteca es demasiado grande para un trabajo pequeño como el formato!Estoy usando esta solución temporal:
fuente
Si alguien mira con tiempo y zona horaria, esto es para ti
agregue z para la zona horaria al final del formato de fecha y hora
fuente
Angular: 8.2.11
Salida: 9 de junio de 1973
Salida: 06/09/1973
Salida: 06/09/1973 12:00 AM
fuente
Lo único que funcionó para mí fue inspirado desde aquí: https://stackoverflow.com/a/35527407/2310544
Para dd / MM / aaaa puro, esto funcionó para mí, con angular 2 beta 16:
fuente
Si alguien puede buscar mostrar la fecha con la hora en AM o PM en angular 6, entonces esto es para usted.
Salida
Opciones de formato predefinidas
Se dan ejemplos en la configuración regional en-US.
Link de referencia
fuente
Creo que es porque la configuración regional está codificada en el
DatePipe
. Ver este enlace:Y no hay forma de actualizar esta configuración regional por configuración en este momento.
fuente
Las canalizaciones de fecha no se comportan correctamente en Angular 2 con el mecanografiado para el navegador Safari en MacOS e iOS. Me enfrenté a este problema recientemente. Tuve que usar moment js aquí para resolver el problema. Mencionando lo que he hecho en resumen ...
Agregue el paquete momentjs npm en su proyecto.
En xyz.component.html, (tenga en cuenta que startDateTime es de tipo de cadena de datos)
{{ convertDateToString(objectName.startDateTime) }}
import * as moment from 'moment';
fuente
Puede encontrar más información sobre el tubo de fecha aquí , como los formatos.
Si desea usarlo en su componente, simplemente puede hacer
Ahora, simplemente puede usar su método de transformación, que será
fuente
Debe pasar la cadena de configuración regional como argumento a DatePipe.
Opciones de formato predefinidas:
agregue datepipe en app.component.module.ts
fuente
También puedes usar momentjs para este tipo de cosas. Momentjs es el mejor para analizar, validar, manipular y mostrar fechas en JavaScript.
Usé esta pipa de Urish, que funciona bien para mí:
https://github.com/urish/angular2-moment/blob/master/src/DateFormatPipe.ts
En el parámetro args puede poner su formato de fecha como: "dd / mm / aaaa"
fuente
En mi caso, uso en el archivo componente:
Y en el archivo HTML componente
Funciona bien para mí ;-)
fuente