Formatear fecha usando Pipe en Angular
- ¿Cómo se usa el Date Pipe de Angular?
- Ejemplo de zona horaria usando una tubería de fecha angular
- Ejemplo de una tubería de fecha angular con una ubicación de país
- Cree una tubería de fecha personalizada 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 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