Formatear fecha usando Pipe en Angular

Muhammad Adil 30 enero 2023
  1. ¿Cómo se usa el Date Pipe de Angular?
  2. Ejemplo de zona horaria usando una tubería de fecha angular
  3. Ejemplo de una tubería de fecha angular con una ubicación de país
  4. Cree una tubería de fecha personalizada en Angular:
Formatear fecha usando Pipe en Angular

Angular Date Pipe nos permite formatear fechas en Angular usando el formato especificado, la zona horaria y los detalles específicos. Tiene formatos predefinidos y cadenas de formato personalizado. En las cadenas de formato personalizado, podemos personalizar fácilmente el formato de fecha, la zona horaria, la configuración regional del país, etc. con la ayuda de algunos pasos esenciales, discutiremos todos estos pasos en detalle. Este artículo aclarará todas sus dudas y demostrará el formato de fecha usando Pipe en Angular con la ayuda de ejemplos. Vamos a empezar.

¿Cómo se usa el Date Pipe de Angular?

El componente @angular/common presenta el Date Pipe. Las tuberías se pueden usar para formatear datos en Angular, incluidos valores, porcentajes, fechas y mucho más. Principalmente, se consideran tres parámetros al diseñar un tubo de fecha angular.

  • Format
  • Time zone
  • Locale

Antes de analizar los parámetros mencionados anteriormente, es esencial conocer la sintaxis de la canalización de fecha angular utilizando el formato, la zona horaria y la configuración regional.

{{ date_Value | date [ : format [ : timeZone [ : locale ] ] ] }}

Parámetros y descripción de Angular Date Pipe

Format: como parámetro de formato, podemos proporcionar formatos de fecha angular estándar o formato de fecha personalizado. mediumDate es el valor predeterminado.

Time zone: La zona horaria estándar es la zona horaria del sistema local de la máquina del usuario. Podemos proporcionar el desplazamiento de la zona horaria (0530), UTC/GMT convencional (IST) o el acrónimo de la zona horaria del este de EE. UU. como un parámetro adicional para ajustar la zona horaria.

Locale: Indica las reglas de formato de locale que se deben utilizar. Si no está definido o configurado, el valor predeterminado es la configuración regional de nuestro proyecto (en-US).

Además, debe saber que Angular viene con solo los datos de configuración regional en-US listos para usar. Debe importar datos de configuración regional relevantes para localizar las fechas en cualquier idioma.

Lista de todos los formatos de fecha predefinidos en Angular

La tubería de fecha angular tiene 12 formatos predefinidos. Analicemos la lista de todos estos formatos de fecha incorporados en detalle.

  • short: M/d/yy, h:mm a, 1/01/22, 11:45 PM. Its Angular datepipe code is {{todayDate | date:'short'}}
  • medium: MMM d, y, h:mm:ss a, Jan 01, 2022, 11:45:13 PM. Its Angular datepipe code is {{todayDate | date:'medium'}}
  • long: MMMM d, y, h:mm:ss a z, Jan 01, 2022 at 11:45:13 PM GMT+5. Its Angular datepipe code is {{todayDate | date:'long'}}
  • longDate: MMMM d, y, Jan 01, 2022. Its Angular datepipe code is {{todayDate | date:'longDate'}}
  • fullDate: EEEE, MMMM d, y, Saturday, Jan 01, 2022. Its Angular datepipe code is {{todayDate | date:'fullDate'}}
  • shortTime: h:mm a, 11:45 PM. Its Angular datepipe code is {{todayDate | date:'shortTime'}}
  • mediumTime: h:mm:ss a, 11:45:13 PM. Its Angular datepipe code is {{todayDate | date:'mediumTime'}}
  • longTime: h:mm:ss a z, 11:45:13 PM GMT+5. Its Angular datepipe code is {{todayDate | date:'longTime'}}
  • fullTime: h:mm:ss a zzzz, 11:45:13 PM. Its Angular datepipe code is {{todayDate | date:'fullTime'}}
  • full: EEEE, MMMM d, y, h:mm:ss a zzzz, Saturday, Jan 01, 2021 at 11:45:13 PM GMT+05:30. Its Angular datepipe code is {{todayDate | date:'full'}}
  • shortDate: M/d/yy, 1/01/22. Its Angular datepipe code is {{todayDate | date:'shortDate'}}
  • mediumDate: MMM d, y, Jan 01, 2022. Its Angular datepipe code is {{todayDate | date:'mediumDate'}}

Haga clic aquí para verificar el formato de fecha y hora para obtener más aclaraciones.

Ejemplo de zona horaria usando una tubería de fecha angular

Podemos dar la zona horaria como parámetro a la tubería de fecha y el formato de fecha para mostrar la fecha en un UTC específico. La desviación de zona horaria (‘0530’), UTC/GMT convencional (IST) o el acrónimo de zona horaria de EE. UU. continental son todas opciones para el parámetro de zona horaria.
Por ejemplo, para mostrar la hora en la zona horaria IST.

Today is {{todayDate | date:'short':'IST'}}

Today is {{todayDate | date:'short':'+05:00'}} 

Producción :

Today is 1/02/19, 3:30 PM 

Ejemplo de una tubería de fecha angular con una ubicación de país

Es necesario proporcionar el código de configuración regional del país como tercer argumento a la tubería de fecha angular para mostrar la fecha de acuerdo con los estándares de formato de configuración regional del país, como se ve a continuación.

Alemania, por ejemplo, utiliza la Hora estándar alemana y tiene un desplazamiento de zona horaria de +01:00. Utilice el código de configuración regional de como parámetro en Angular para mostrar la fecha y la hora en la configuración regional de Alemania, como se muestra a continuación.

<p>The current German date time is  {{todayDate | date:'full':'+01:00':'de'}}</p>

Producción :

The current German date time is Mittwoch, 5. Januar 2022 um 12:50:38 GMT+01:00

Cree una tubería de fecha personalizada en Angular:

Angular usa el formato de fecha mediumDate por defecto. ¿Qué pasa si deseamos modificarlo y usar nuestro propio formato único en lugar de formatos incorporados, como MMM d, y, h:mm: ss a?

Esto muestra la hora como January 01, 2022, 11:45:13 PM.

Mostraremos muchas fechas en nuestras aplicaciones Angular, y necesitaremos pasar el argumento de formato cada vez. Como se ve a continuación, podemos crear nuestra tubería de fecha personalizada y usarla en toda la aplicación para evitar esto.

{{ todayDate | customDate }}

Producción :

January 01, 2022, 11:45:13 PM

Siga las instrucciones a continuación para hacer un tubo de fecha personalizado. Agregue el siguiente código a un archivo denominado custom.datepipe.ts.

import { Pipe, PipeTransform } from '@angular/core';

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

  @Pipe({

   name: 'customDate'

  })

  export class CustomDatePipe extends 

 DatePipe implements PipeTransform {

   transform(value: any, args?: any): any {
 return super.transform(value, " MMM d, y, h:mm:ss a ");   } }

Después de hacer esto, el siguiente paso es importar CustomDatePipe y agregarlo al array de declaración de AppModule.

 import {CustomDatePipe} from './custom.datepipe';
   @NgModule({
    declarations: [
    CustomDatePipe
   ]);

Ahora, estamos en la etapa en la que podemos utilizar nuestra tubería de fecha personalizada en el archivo del componente.

{{todayDate | customDate}}

Producción :

Jan 5, 2022, 5:25:36 PM

Formatos de fecha personalizados:

En Angular, puede crear sus propios formatos de fecha. La siguiente es una lista completa de todos los formatos de fecha personalizados posibles.

Escribe Formato Descripción Ejemplos
Era: G, GG y GGG Abreviado AD
GGGG Ancho Anno Domini
GGGGG Estrecho A
Año: y Numérico: dígitos mínimos 2022
yy Numérico: 2 dígitos y cero rellenado 22
yyy Numérico: 3 dígitos y cero rellenado 2022
yyyy Numérico: 4 dígitos o más y relleno con ceros 2022
Mes: M Numérico: 1 dígito 1
MM Numérico: 2 dígitos y cero rellenado 01
MMM Abreviado Jan
MMMM Ancho January
MMMMM Estrecho J
Mes independiente L Numérico: 1 dígito 8
LL Numérico: 2 dígitos + cero rellenado 08
LLL Abreviado Aug
LLLL Ancho August
LLLLL Estrecho A
Dia del mes: d Numérico: dígitos mínimos 7,8
dd Numérico: 2 dígitos + cero rellenado 13,08,19
Día laborable E, EE y EEE Abreviado Thu
EEEE Ancho Thursday
EEEEE Estrecho T
EEEEEE Corto Th
semana del mes W Numérico: 1 dígito 2,6
semana del año w Numérico: dígitos mínimos 7,34
ww Numérico: 2 dígitos 43, 09
Período a, aa y aaa Abreviado am, pm
aaaa Ancho pm
aaaaa Estrecho a
Período* B, BB y BBB Abreviado mid
BBBB Ancho am, pm, midnight, afternoon, noon
BBBBB Estrecho md
Período independiente* b, bb y bbb Abreviado mid
bbbb Ancho midnight, afternoon, evening, night
bbbbb Estrecho mid
Segundos fraccionarios S Numérico: 1 dígito 5,7,2
SS Numérico: 2 dígitos y cero rellenado 96,87,47
SSS Numérico: 3 dígitos y cero rellenado 435,789,670
Segundo s Numérico: dígitos mínimos 3,9,56
ss Numérico: 2 dígitos y cero rellenado 09,26,13
Minuto m Numérico: dígitos mínimos 40,6,47,54
mm Numérico: 2 dígitos y cero rellenado 04,51,23,28
Hora 0 a 23 H Numérico: dígitos mínimos 16
HH Numérico: 2 dígitos y cero rellenado 21,19,17
Hora 1 a 12 h Numérico: dígitos mínimos 11
hh Numérico: 2 dígitos y cero rellenado 12
Zona z, zz y zzz Formato corto específico sin ubicación GMT-6
zzzz Formato largo no específico de ubicación GMT-06:00
Z, Z Z y ZZZ Formato básico ISO8601 -0600
ZZZZ Formato GMT localizado largo GMT-06:00
ZZZZZ Formato extendido ISO8601 -06:00
O, OO y OOO Formato GMT localizado corto GMT-6
OOOO Formato GMT localizado largo GMT -06:00

Ejemplo de formato personalizado:

Aquí, mencionamos un ejemplo muy simple de un formato personalizado.

{{todayDate | date:'dd/MM/yy HH:mm'}}     

Producción :

05/01/22 17:25

Si desea obtener más información sobre la tubería de fecha angular, haga clic aquí

Muhammad Adil avatar Muhammad Adil avatar

Muhammad Adil is a seasoned programmer and writer who has experience in various fields. He has been programming for over 5 years and have always loved the thrill of solving complex problems. He has skilled in PHP, Python, C++, Java, JavaScript, Ruby on Rails, AngularJS, ReactJS, HTML5 and CSS3. He enjoys putting his experience and knowledge into words.

Facebook

Artículo relacionado - Angular Date