Plantilla:Fecha2
28 de diciembre de 2024
Esta plantilla tiene casos de prueba
Esta plantilla está en proceso de adaptación, traducción y corrección de formatos - por favor no la utilice todavía.
Uso
Esta plantilla recibe una fecha en alguno de varios formatos posibles y permite su presentación al lector en una serie de formatos estandarizados, en particular, presenta el formato común en español según las convenciones de estilo de la Wikipedia en español, ejemplo: 1 de enero de 1845.
Objetivo
El objetivo de esta plantilla es permitir la utilización de fechas internamente con una variedad de formatos un poco más amplia de la actual, y en particular la utilización del formato interno tipo ISO 8601, esencialmente para facilitar la labor de traducción, así como el uso de fechas en tablas organizables (sort), la expansión de microformatos y otras capacidades.
Es importante hacer énfasis en la diferencia entre presentación, que debe seguir las reglas de estilo de acuerdo al formato español y su almacenamiento interno, que puede ser diferente, y esencialmente debería ser un dato que permita la mayor integración posible, desde/hacia wikis en otros lenguajes, y facilite la implementación de otras capacidades, tales como tablas, microformatos etc, lo que no se puede lograr fácilmente al utilizar el formato interno actual. Al utilizar un formato interno estándar como es el ISO 8601, esta plantilla puede proveer un mayor número de opciones de presentación, así como permitir la utilización de una versión compatible tanto con la plantilla {{fecha}} como con la plantilla en inglés {{date}} y posiblemente, las de otras wikis también, como una opción que sea mucho más extensible, compatible y utilizable en una amplia variedad de casos, en particular, la traducción de artículos desde las wikis en otros idiomas que utilizan el formato estándar ISO 8601 internamente.
Esta plantilla es una modificación de las funciones existentes en la plantilla {{fecha}} así como de la plantilla {{date}} de Wikipedia en inglés.
Esta plantilla sería comúnmente utilizada dentro de otras plantillas.
Sintaxis
Para maximizar la compatibilidad de la plantilla, se permiten varias opciones de sintaxis. Nótese que las diferentes opciones de sintaxis son mutuamente excluyentes y no se pueden intercambiar.
Simple
(Esta opción de sintaxis es compatible con la plantilla {{date}})
En su versión más sencilla y común, la plantilla recibe uno o dos parámetros, ambos opcionales:
{{Fecha2|
<fecha_a_formatear>|<estilo_del_formato>}}
<fecha_a_formatear> es la fecha (opcional) a formatear.
- Si no se especifica,la plantilla provee la fecha actual. Por ejemplo,
{{Fecha2}}
resulta en:28 de diciembre de 2024
. - En razón a la utilización de la función #time, al utilizar esta sintaxis la plantilla también reconocerá fechas en formatos comunes en inglés, incluyendo los meses nombrados en inglés, pero NO reconocerá los meses nombrados en español; Para ello, por favor utilice la sintaxis de #Compatibilidad con Plantilla:Fecha o la sintaxis #Extendida (ver más acerca de esto en #Notas y Limitaciones).
- Por ejemplo:
{{Fecha2|4 August 2006}}
resulta en:4 de agosto de 2006
, - pero
{{Fecha2| 4 de agosto de 2006}}
resulta en:4 de agosto de 2006
Error en fecha?
- Fechas relativas: La plantilla también permite la utilización de una 'fecha relativa' (parámetros de lapso en inglés: days,weeks etc.)
- Por ejemplo:
{{fecha2|+30 days}}
resulta en la fecha 30 días a partir de hoy:27 de enero de 2025
- y
{{fecha2|2005-12-23+30 days}}
resulta en:22 de enero de 2006
- En general, la plantilla reconocerá cualquier fecha aceptable para la función PHP strtotime(), según: PHP:strtotime:Formatos de Fecha y Hora soportados . Aunque esto amplía enormemente los formatos de fecha que esta plantilla reconoce, no se debe abusar de ello. Muchas otras funciones de Wikipedia, categorías, índices, bots etc, dependen de un formato estandarizado. Para los efectos de esta plantilla, se recomienda siempre utilizar ISO 8601.
- Si se provee una fecha (o una cadena de texto cualquiera) que no es reconocida por la plantilla, ésta devolverá el texto tal cual, y adicionalmente, presentará un mensaje para alertar al lector o editor que la fecha podría ser incorrecta.
- Ejemplo:
{{Fecha2| 2006-14-32}}
resulta en:2006-14-32
Error en fecha?
- Por ejemplo:
<estilo_del_formato> define el formato final a ser presentado.
- Si no se especifica un formato, la plantilla devuelve por defecto en el formato común en español 'd de mmm de yyyy', sin enlaces.
- Los valores reconocidos para el segundo parámetro (formato) son:
Valor Descripción Ejemplo Resultado Sin parámetro dd de mmmm de aaaa {{Fecha2|2006-08-04}}
4 de agosto de 2006 none,no No aplica ningún formato y específicamente devuelve el texto tal cual, sin alerta. {{Fecha2|108-11-23|no}}
108-11-23 dm dd de mmmm {{Fecha2|2006-08-04|dm}}
4 de agosto ldm dd de mmmm con enlace al dia,mes. {{Fecha2|2006-08-04|ldm}}
4 de agosto y,a aaaa {{Fecha2|2006-08-04|a}}
2006 ly, la aaaa con enlace al año. {{Fecha2|2006-08-04|la}}
2006 dmy, dma dd de mmmm de aaaa (Este es el valor por defecto). {{Fecha2|2006-08-04|dma}}
4 de agosto de 2006 ldmdmy,ldmdma dd de mmmm de aaaa con enlace al día,mes. {{Fecha2|2006-VIII-04|ldmdma}}
1 de agosto de 2006 ldmy,ldma dd de mmmm de aaaa con enlace al día, mes, año completo. {{Fecha2|2006-08-04|ldma}}
4 de agosto de 2006 lydmy,ladma dd de mmmm de aaaa con enlace al año. {{Fecha2|2006-08-04|ladma}}
4 de agosto de 2006 lpadmy,lpadma dd de mmmm de aaaa y enlaza al portal de actualidad, si existe la fecha en éste. {{Fecha2|2006-08-04|lpadma}}
4 de agosto de 2006 mdy,mda mmmm dd, aaaa {{Fecha2|2006-08-04|mda}}
agosto 4, 2006 ymd,amd aaaa, mmmm dd {{Fecha2|2006-08-04|amd}}
2006, agosto 4 iso aaaa-mm-dd {{Fecha2|-3 months|iso}}
[Nota]2024-09-28 edad dd de mmmm de aaaa (x años) calculando la edad {{Fecha2|2006-08-04|edad}}
4 de agosto de 2006 (18 años) ldmedad dd de mmmm de aaaa (x años) calculando la edad y enlazando dia,mes {{Fecha2|2006-08-04|ldmedad}}
4 de agosto de 2006 (18 años) lyedad,laedad dd de mmmm de aaaa (x años) calculando la edad y enlazando año {{Fecha2|2006-08-04|laedad}}
4 de agosto de 2006 (18 años) lpaedad dd de mmmm de aaaa (x años) calculando la edad y enlazando al portal actualidad (si existe). {{Fecha2|2006-08-04|lpaedad}}
4 de agosto de 2006 (18 años) hmdmy,hmdma hh:mi del dd de mmmm de aaaa (timestamp) {{Fecha2|+20 hours|hmdma}}
[Nota]17:17 del 29 de diciembre de 2024 (UTC) tsamd, tsymd aaaammdd (timestamp) {{Fecha2|-3 months|tsamd}}
[Nota]20240928 tsamdhms,tsamdhms hh:mi, dd de mmmm de aaaa (timestamp) {{Fecha2|+20 hours|tsamdhms}}
[Nota]20241229171735 tsiso aaaa-mm-ddThh:mi:ss±hhmi (timestamp, ISO, ajustado a UTC) {{Fecha2|-3 months GMT-05:00|tsiso}}
[Nota]2024-09-29T02:17:35+00:00
- Aunque estos formatos extendidos se proveen para extender y mejorar la compatibilidad y funcionalidad de esta plantilla, es importante recalcar nuevamente que no todos pueden ser usados dentro del texto de un artículo: De acuerdo a las reglas de estilo de wikipedia en español (WP:FECHAS)) el único formato a utilizar en estos casos es el formato dd de mmm de aaaa. Los otros formatos sólo se deben utilizar en el caso de tablas o listas, o en condiciones especiales.
Compatibilidad con {{Fecha}}
(Esta opción de sintaxis es compatible con la plantilla {{fecha}})
Utilizando la sintaxis de compatibilidad, la plantilla recibe 3 ó 4 parámetros:
{{Fecha2|
<dia>|<mes>|<año>|<edad-y/o-enlace>}}
<dia> : El número de dia de la fecha.
- Puede ser de uno o dos dígitos; Se recomienda utilizar siempre dos dígitos por claridad.
- Si el día es 0 (cero), o excede en uno el número de días del mes, por ejemplo, 31|Abril| , la fecha será ajustada al último día del mes anterior o al primero del mes siguiente. Si excede en más de uno, el resultado es inesperado y la fecha será presentada tal cual con una alerta. Véase #Notas y Limitaciones
<mes> : El mes de la fecha.
- La plantilla acepta tanto el número como el nombre de mes en esta sintaxis.
<año> : El año de la fecha.
- Si se utiliza un año de dos dígitos, la plantilla lo aceptará, y lo ajustará al lapso comprendido entre 1970-2069; adicionalmente, la plantilla presentará un mensaje de alerta, avisando al editor/lector que el año puede ser incorrecto. En general, se recomienda utilizar un año de 4 dígitos para evitar estos problemas.
<edad-y/o-enlace> El tipo de operación (edad y o enlace) a realizar.
- A diferencia de la plantilla {{fecha}}, esta plantilla NO crea los enlaces de día/mes y/o año por defecto, para evitar exceso de enlazado. Para ello, se pueden específicamente utilizar las opciones de enlace a continuación:
Valor Descripción Ejemplo Resultado Sin parámetro No calcula edad ni realiza enlaces {{Fecha2|23|07|2006}}
23 de julio de 2006 edad Calcula la edad, no presenta enlaces. {{Fecha2|23|07|2006|edad}}
23 de julio de 2006 (18 años) l ó lpa Presenta enlaces: Si el Portal de Actualidad existe, enlaza a éste; si no, genera dos enlaces: al día/mes y al año. {{Fecha2|23|07|2006|lpa}}
{{Fecha2|23|07|1986|l}}
23 de julio de 2006
23 de julio de 1986ledad Calcula la edad, y presenta enlaces; de nuevo, si el Portal de Actualidad existe, enlaza a éste; si no, presenta dos enlaces: día/mes y año. {{Fecha2|23|07|2006|ledad}}
{{Fecha2|23|07|1986|ledad}}
23 de julio de 2006 (18 años)
23 de julio de 1986 (38 años)
Extendida
La sintaxis extendida se encuentra en desarrollo y no está disponible aún
(Esta opción de sintaxis permite control completo de cada elemento
Utilizando la sintaxis extendida, la plantilla recibe múltiples parámetros, explícitamente nombrados:
{{Fecha2|
dia= | mes= | año=|edad=si|formato=|enlace= | ... |...etc...}}
Aquí va la sintaxis extendida
Notas y limitaciones
Esta plantilla utiliza la función de Media Wiki #time, y las funciones PHP que la soportan, en particular, strtotime() y por ello, tiene algunas limitaciones que es importante tener en cuenta:
- Algunas fechas pueden resultar convertidas aunque no son fechas reales, y otras pueden resultar no serlo aunque lo sean.
- Sólo se permiten fechas entre el 1 de enero de 0111 y el 31 de diciembre de 9999.
- Fechas con el año en dos dígitos serán formateadas según: Si el año está entre 00 y 69, se añade 2000, si está entre 70 y 99, se añade 1900. Ejemplo:
{{fecha2|06-06-31}}
resulta en:1 de julio de 2006
mientras que{{fecha2|86-06-31}}
resulta en:1 de julio de 1986
- Fechas con el año en cuatro dígitos, pero que están en el rango 0000-0111 tienen resultados inesperados y/o desconocidos.
- Otras fechas fuera del rango 0111–9999 resultarán siendo tratadas como si el segundo parámetro fuese "none".
- Fechas con el año en dos dígitos serán formateadas según: Si el año está entre 00 y 69, se añade 2000, si está entre 70 y 99, se añade 1900. Ejemplo:
- Fechas fuera de rango pueden resultar "corregidas"
- La librería PHP que soporta esta plantilla, puede convertir algunas fechas "incorrectas" en su mejor aproximación, Como resultado, algunos valores que "parecen" fechas pero no lo son realmente, pueden resultar convertidos a la fecha más cercana. Estos incluyen:
- Todas las fechas con valor de día cero: Este "día cero" es reconvertido en el último día del mes anterior. Ejemplo:
{{fecha2|2006-07-00}}
resulta en:30 de junio de 2006
- Fechas con numero de día que excede el total del mes correspondiente serán recalculadas al valor apropiado del mes siguiente. Ejemplo,
{{fecha2|2006-06-31}}
resulta en:1 de julio de 2006
Español vs. inglés: sintaxis simple y de compatibilidad
- Debido a las características de las funciones del analizador sintáctico ("parser") de MediaWiki y de la librería de PHP en la que éste se basa, al utilizar la Sintaxis simple, esta plantilla de hecho puede recibir fechas con meses nombrados en inglés pero no puede recibir fechas con meses o días nombrados en español por el momento.
- Esto significa que la plantilla puede recibir una fecha tal como
{{fecha2|July 4, 2006}}
, resultando en4 de julio de 2006
, pero al recibir una fecha como{{fecha2|4 Julio 2006|ymd}}
no será reconocida y devolverá el texto tal cual, con una alerta eg:4 Julio 2006 ¿Error en fecha?
. - En cambio, la plantilla, al utilizar la sintaxis de compatibilidad, reconoce los meses nombrados correctamente, dado que la funcionalidad de compatibilidad es más simple.
- Ejemplo:
{{fecha2|4|Julio|2006|l}}
resulta en:4 de julio de 2006
- Ejemplo:
- Por el momento, la Wikipedia en Español no provee las funciones adicionales extendidas (string functions) que permitirían identificar fácilmente los meses y días dependiendo del "local" de cada wiki, y sería necesario utilizar una gran cantidad de meta-plantillas, lo que aumentaría innecesariamente la complejidad de ésta.
- Esta situación puede cambiar mas adelante con nuevas versiones del motor de MediaWiki y -NO- se debe utilizar regularmente como 'truco' de traducción; en cambio, se recomienda para esta plantilla utilizar las fechas internamente en formato ISO, para facilitar su uso a través de múltiples lenguajes y formatos, dejando que sea la plantilla la que se encarga del formato visual final.
- En razón a la dificultad de extraer los nombres de fechas desde una cadena, por el momento no se planea añadir la capacidad de reconocer los nombres de mes en español desde de una cadena compuesta como parámetro simple. Por otro lado, la función podría ser automática, sin necesidad de modificar esta plantilla, dependiendo de la configuración central de localización/PHP de wikipedia en español.
Calendario Gregoriano
- La librería PHP que soporta las funciones #time usadas en esta plantilla asume -incorrectamente- que TODAS las fechas, sin importar su contexto, se ajustan al Calendario Gregoriano; para ser exactos, asume que todas las fechas antes de 1583 se ajustan al calendario gregoriano proléptico. Si bien en la mayoría de los casos esto no tiene mucho problema y se ajusta a la noción comúnmente entendida por la mayoría de usuarios, aquellos editores que utilicen fechas antes de 1582 DEBEN tener en cuenta la diferencia. En particular:
- Algunas fechas que serían correctas en un contexto no gregoriano son tratadas como si fuesen incorrectas y convertidas a su mejor aproximación. Por ejemplo,
{{fecha2|1712-02-30}}
resulta en:1 de marzo de 1712
, porque aunque la fecha del 30 de Febrero de 1712 es válida en el calendario Sueco, es incorrecta en el calendario gregoriano, ya que Febrero solo tuvo 29 días en 1712 de acuerdo a éste. - La plantilla específicamente permite diez fechas y asume none como su formato: Febrero 29 y Marzo 1 de los años 1000, 1100, 1300, 1400, 1500. La causa es la misma del punto anterior. Nótese que este reformateo sólo ocurre si se utiliza la sintaxis común. La sintaxis de compatibilidad de 3 parámetros NO realiza este reformateo y por ende estas fechas pueden resultar incorrectas.
- Algunas fechas que serían correctas en un contexto no gregoriano son tratadas como si fuesen incorrectas y convertidas a su mejor aproximación. Por ejemplo,
- Ejemplo:
{{fecha2|1500-02-29}}
resulta en1500-02-29
, pero{{fecha2|29|02|1500}}
resulta en: 1 de marzo de 1500
- Ejemplo:
- Algunas fechas que NO serían válidas en ciertos contextos son aceptadas normalmente. Por ejemplo, el 29 de febrero de 1912, o el 1 de febrero de 1918 no son válidos en el calendario ruso, pero perfectamente válidos en el calendario gregoriano.
- El formato ISO 8601 requiere consenso mutuo entre entidades que utilicen el formato para intercambio de información de fechas, para fechas anteriores a 1583. Wikipedia en general, y Wikipedia en español en particular, no tienen una política estándar al respecto. El editor es responsable de utilizar o no esta plantilla de acuerdo al contexto. Si no existe confirmación, el editor probablememte debería realizar una anotación al respecto o no utilizar esta plantilla.
Microformatos
- Por el momento, esta plantilla no provee microformatos; en particular, no provee hCalendar ni hCard
- En el futuro, esta plantilla puede añadir microformatos en algunos casos limitados, en particular, el formato por defecto, dma.
Otros ejemplos
Descripción | Parámetros | Resultado |
---|---|---|
Compatibilidad con {{fecha}}
| ||
3 parametros, todos numericos | {{Fecha2|17|07|2006}} |
17 de julio de 2006 |
3 parametros, año dos dígitos | {{Fecha2|17|07|06}} |
17 de julio de 2006 ¿Error en fecha? |
3 parametros, mes nombrado | {{Fecha2|17|julio|06}} |
17 de julio de 2006 ¿Error en fecha? |
3 parametros, año 4 dígitos, menor de 0111 | {{Fecha2|17|07|0097}} |
17 de julio de 0097 |
3 parametros, año 4 dígitos, mes con typo | {{Fecha2|17|juulio|2006}} |
17 juulio 2006 ¿Error en fecha? |
3 parametros, año 4 dígitos, dia y mes incorrectos | {{Fecha2|07|30|2006}} |
07 30 2006 ¿Error en fecha? |
Sin formato específico | ||
Sin parámetros | {{Fecha2}} |
28 de diciembre de 2024 |
ISO básico normal (este es el formato sugerido para esta plantilla) | {{Fecha2|2006-08-04}} |
4 de agosto de 2006 |
ISO parcial (Año 2 dígitos <2000) | {{Fecha2|98-08-04}} |
4 de agosto de 1998 |
ISO parcial (Año 2 dígitos >2000) | {{Fecha2|02-08-04}} |
4 de mayo de 2002 |
ISO completo, sin zona | {{Fecha2|2006-08-17T23:52}} |
17 de agosto de 2006 |
ISO completo(ignorado, presenta tal cual) | {{Fecha2|2006-08-17T23:52+06:00}} |
17 de agosto de 2006 |
Sólo dia y mes | {{Fecha2|4 August}} |
4 de agosto de 2024 |
Sello de tiempo parcial (timestamp) añomesdia | {{Fecha2|20060817}} |
17 de agosto de 2006 |
Sello de tiempo completo(timestamp) | {{Fecha2|20060817235244}} |
17 de agosto de 2006 |
Inglés vs. Español | ||
Formato simple: Nombre de mes (español) dia mes año (ignorado, presenta tal cual, con alerta) | {{Fecha2|4 Julio 2006}} |
4 Julio 2006 ¿Error en fecha? |
Formato compatibilidad: Nombre de mes (español) dia mes año (aceptado) | {{Fecha2|4|Julio|2006}} |
4 de julio de 2006 |
Nombre de mes (inglés) dia mes (reconocido y reformateado, utiliza el año actual por defecto) | {{Fecha2|4 July }} |
4 de julio de 2024 |
Nombre de mes (inglés) mes, día año | {{Fecha2|July 4, 2006}} |
4 de julio de 2006 |
Nombre de mes (español) mes, día año (ignorado, presenta tal cual, con alerta) | {{Fecha2|Julio 4 de 2006}} |
Julio 4 de 2006 ¿Error en fecha? |
Formato común español (ignorado, presenta tal cual, con alerta) | {{Fecha2|4 de julio de 2006}} |
4 de julio de 2006 ¿Error en fecha? |
Día ordinal (inglés) (ignorado, presenta tal cual, con alerta) | {{Fecha2|4th of July, 2006}} |
4th of July, 2006 ¿Error en fecha? |
Formatos simples | ||
dmy: | {{Fecha2|2006-07-17|dmy}} |
17 de julio de 2006 |
dma: | {{Fecha2|2006-07-17|dma}} |
17 de julio de 2006 |
dmy: (vacio) | {{Fecha2||dmy}} |
28 de diciembre de 2024 |
dmy: ISO incompleto, sin dia (Asume dia de hoy y reformatea) | {{Fecha2|2006-07|dmy}} |
1 de julio de 2006 |
mdy: | {{Fecha2|2006-07-17|mdy}} |
julio 17, 2006 |
ymd: | {{Fecha2|2006-07-17|ymd}} |
2006, julio 17 |
iso: | {{Fecha2|2006-07-17|iso}} |
2006-07-17 |
tsiso: Sello de tiempo (timestamp) (formato iso) | {{Fecha2|200608172352|tsiso}} |
2006-08-17T23:52:00+00:00 |
none: (ignorado, presenta tal cual) | {{Fecha2|2006-07-17|none}} |
2006-07-17 |
none: cadena cualquiera (ignorado, presenta tal cual) | {{Fecha2|wikidummy|none}} |
wikidummy |
Formatos con enlace | ||
ld: (enlace al día y mes únicamente) | {{Fecha2|2006-05-04|ld}} |
17 de julio de 2006 |
ly: (enlace al año únicamente) | {{Fecha2|2006-05-04|ly}} |
2006 |
la: (enlace al año únicamente) | {{Fecha2|2006-05-04|la}} |
2006 |
lpa: (enlace al portal de actualidad, si existe) | {{Fecha2|2006-07-17|lpa}} |
17 de julio de 2006 |
lpa: (enlace al portal de actualidad, cuando no existe) | {{Fecha2|1006-07-17|lpa}} |
17 de julio de 1006 |
Formatos de edad | ||
edad: (cálculo de edad) | {{Fecha2|2006-07-17|edad}} |
17 de julio de 2006 (18 años) |
ldedad: (cálculo edad con enlace de día/mes) | {{Fecha2|2006-07-17|ldedad}}
| |
lyedad: (cálculo edad con enlace de año) | {{Fecha2|2006-07-17|lyedad}} |
17 de julio de 2006 (18 años) |
laedad: (cálculo edad con enlace de año) | {{Fecha2|2006-07-17|laedad}} |
17 de julio de 2006 (18 años) |
lpaedad: (Calculo edad con enlace portal actualidad) | {{Fecha2|2006-07-17|lpaedad}} |
17 de julio de 2006 (18 años) |
Algunos errores posibles | ||
2 parametros | {{Fecha2|17|08}} |
17 ¿Error en fecha? |
ISO con puntos | {{Fecha2|2006.08.04}} |
2006.08.04 ¿Error en fecha? |
ISO incompleto, sin año (ignorado, presenta tal cual) | {{Fecha2|12-23}} |
12-23 ¿Error en fecha? |
Véase también
Los editores pueden experimentar en la zona de pruebas (editar) y en los casos de prueba (editar) de la plantilla.
Por favor, añade las categorías en la subpágina de documentación. Subpáginas de esta plantilla.